Support sentry.properties

Right now the configuration is read thru the plugin configuration or via env. var.
Sentry Wizard is able to generate a properties file, the plugin could read the conf. from this file as well.

Just a small note:
If someone is using pubspec.yaml configuration then it's impossible (as far as I know) to read environment variables inside it eg:
sentry:
   upload_debug_symbols: true
   project: ${PROJECT_FLAVOR}
   auth_token: ${AUTH_TOKEN}

It would be amazing if it were possible with this config file

@PawlikMichal25 can you just export the env var in your environment?
If you omit project and export SENTRY_PROJECT also works, same for the token.

I'm aware and yes, that works.
But still, if someone needs a custom configuration, I think it would nice to have everything in one place, instead of some parts in pubspec.yaml and some env variables

  auth_token: ${AUTH_TOKEN}

It is not possible to use environment variables in pubspec: https://github.com/dart-lang/pub/issues/1358


{x:Bind}: Changes made to the cloned instance are reflected

Describe the bug
Changes made to the cloned instance, not the bound instance, will be reflected.
Steps to reproduce the bug

Bind some value in XAML.
Clone the value.
Changes the cloned value.
Reflected in XAML.

Sample program in GitHub:
https://github.com/shinta0806/TestCloneBind
Expected behavior
Changes made to the only original instance will be reflected.
Screenshots

NuGet package version
WinUI 3 - Windows App SDK 1.3.1: 1.3.230502000
Windows version
Windows 11 (22H2): Build 22621
Additional context
No response

https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone

The MemberwiseClone method creates a shallow copy by creating a new object, and then copying the nonstatic fields of the current object to the new object. If a field is a value type, a bit-by-bit copy of the field is performed. If a field is a reference type, the reference is copied but the referred object is not; therefore, the original object and its clone refer to the same object.

You are using MemberwiseClone on an object that inherits from ObservableObject which declares the PropertyChanged event, and this results in undesirable behavior:

The Problem with Events and MemberwiseClone
If you use MemberwiseClone, it will clone any event the object has. This means the newly cloned object will fire off events to whatever objects were registered with the object you cloned from. This tends to be undesirable for a number of reasons:

The object that registered an interest in receiving events from the original object is now getting events from the newly cloned object also.
Because the object that registered for an event doesn't know about the newly cloned object, it doesn't know to deregister its interest from the cloned object.
Because events hold references to objects, it can cause objects to hang around in memory after you think you have killed all references to that object

https://www.codeproject.com/Articles/6753/Events-and-Clones

Thank you very much!


Decide on design of the merger-with-images

Current thinking on this:

Modify the WorkPairMerger trait to separate the logic of determining whether a merge is achievable, and performing that merge. Something like:

trait WorkPairMerger {
  protected def canMergeWorks(
    firstWork: UnidentifiedWork,
    secondWork: TransformedBaseWork): Boolean

  protected def mergeAndRedirectWorkPair(
    firstWork: UnidentifiedWork,
    secondWork: TransformedBaseWork): MergedWork
}

Add another trait, ImageCreator (exact name tbd), which implementors of MergerRule must also mix in. Something like:

trait ImageCreator {
  protected def createImage(
    firstWork: UnidentifiedWork,
    secondWork: TransformedBaseWork): MergedImage[Unidentified]
}

Filter out unmergeable works using 1., then create images and merged works independently from the resulting set of unmerged works.

This has been deployed and running for a while, closing.


.notNullable() on relationship identities exposes vulnerable information in error message

Well, not entirely sure whether it could be counted as a bug, but I have found strange behavior in specific scenario, which exposes vulnerable information in response error message.
Case: we have two models:
class Question extends Model {
  static hasMany = {
    answers: {
      inverse: 'question'
    }
  }

and
class Answer extends Model {
  static belongsTo = {
    question: {
      inverse: 'answers'
    }
  }
}

then we force to provide valid qestion_id upon creation of answer:
  return schema.createTable('answers', table => {
    table.increments('id');

    table.text('body').notNullable();

    table.integer('question_id').notNullable().index(); // <= pay attention to this line
    table.foreign('question_id').references('question.id'); // <= pay attention to this line

    table.timestamps();

    table.index([
      'created_at',
      'updated_at'
    ]);
  });

We make request to create new answer without providing relationship information:
http://localhost:4000/answers
{
  "data":{
    "type": "answers",
    "attributes": {
    	"body": "My new answer to your question!"
    }

  }
}

Response comes as:
{
"errors": [
  {
"status": "500",
"title": "Internal Server Error",
"detail": "insert into "answers" ("body", "created_at", "question_id", "updated_at") values ('My new answer to your question!', '2016-12-01 19:42:56.828', NULL, '2016-12-01 19:42:56.828') - SQLITE_CONSTRAINT: NOT NULL constraint failed: answers.question_id"
}
],
"jsonapi": {
"version": "1.0"
}
}

However even when providing with valid question ID:
{
  "data":{
  	"type": "answers",
    "attributes": {
    	"body": "My new answer to your question!"
    },
    "relationships": {
    	"question": { "data": { "type": "questions", "id": 1}}
    }
  }
}

it still does provide the same error message.
I have tested some more scenarios and it seems that .notNullable() is the real issue. You can conclude that yourself from log, when not using .notNullable() :
[2016-12-01T19:01:08.901Z] INSERT INTO "answers" ("body", "created_at", "question_id", "updated_at") VALUES ('MY NEW ANSWER TO YOUR QUESTION!', '2016-12-01 20:01:08.851', NULL, '2016-12-01 20:01:08.851')

------------------------------------------------------------------------------------------------------

[2016-12-01T19:01:08.963Z] SELECT "questions"."id" AS "id", "questions"."title" AS "title", "questions"."body" AS "body", "questions"."created_at" AS "createdAt", "questions"."updated_at" AS "updatedAt" FROM "questions" WHERE "questions"."id" = 1 LIMIT 1

------------------------------------------------------------------------------------------------------

[2016-12-01T19:01:09.009Z] UPDATE "answers" SET "question_id" = 1, "updated_at" = '2016-12-01 20:01:08.973' WHERE "id" = 2

------------------------------------------------------------------------------------------------------

[2016-12-01T19:01:09.017Z] Processed POST "/answers" from ::ffff:<IP_ADDRESS> with 201 Created by AnswersController#create

I guess the logic goes like this: create answer with questioId as Null ==> check if given questionId can be found in questions table --> if yes, then update answer with valid questionId. In my opinion it's not most optimal way of doing it.

Hey thanks for bringing this issue up!

.notNullable() on relationship identities exposes vulnerable information in error message

The error message should be ambiguous when running in production mode lux -e production and not leak sensitive business logic to the client.

I guess the logic goes like this: create answer with questioId as Null ==> check if given questionId can be found in questions table --> if yes, then update answer with valid questionId. In my opinion it's not most optimal way of doing it.

That is correct and I agree 100%. This is something we are fixing in #527. This will land in v1.1.

Resolved by #527


CAMEL-21398: migrate the Smooks Data Format from the Camel cartridge to the Apache Camel code base

Description
Migrate the Smooks Data Format from the Smooks Camel Cartridge to the Apache Camel code base. See https://github.com/smooks/smooks-camel-cartridge/issues/211
Target

[x] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[x] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[x] I checked that each commit in the pull request has a meaningful subject line and body.

[x] I have run mvn clean install -DskipTests locally from root folder and I have committed all auto-generated changes.

Can you add this file to the PR so the job can build
(use "git add ..." to include in what will be committed)
docs/components/modules/dataformats/pages/smooks-dataformat.adoc


Translated using Weblate (Chinese (China))

Currently translated at 100.0% (7 of 7 strings)

Seriously? Or it is just a test?


[opencl] Use canonical cmake install and fixup

Fixes #37576.
Installs CMake config for headers and ICD loader.
Installs pc files for headers and ICD loader.
Updates usage and wrapper.
(Out-of-scope: Update version.)

/azp run

Usage test passed with x64-windows and x64-linux.


[question] Convert errors to user friendly errors

Is there a best practice method of converting a sqlx::Error::Database to a user friendly message. For example, when writing HTTP API, I have a create user route. When there's already a user with the email address given, the error returned is the constraint error:
duplicate key value violates unique constraint "users_email_key"

Is there an easy way to map these errors to a more user friendly error, something like "A user with that email address already exists"? This is the best I've come up with so far but it seems a bit verbose/awkward:
            ...
            .execute(db)
            .await
            .map_err(|e| {
                match e {
                    sqlx::Error::Database(e) => {
                        if let Some("23505") = e.code() {
                            return UserError::EmailTaken;
                        }
                    }
                    _ => {}
                };
                UserError::General(e)
            })?;

This is perhaps slightly better:
match e {
    sqlx::Error::Database(e) if e.column_name() == Some("email") => {
        UserError::EmailTaken
    }
    _ => UserError::General(e),
}

I think we could stand to improve the ergonomics here but I'm not sure how I'd want it to handle.

Ah yea that is cleaner, however when I debug log the e, the column_name shows as None 😕

Oh, it might be e.constraint_name() == Some("email_unique") or something like that. You can switch it back to matching on the error code if you find that more reliable.

just an update i think as of today this should look like:
Err(err) => match err {
                sqlx::Error::RowNotFound => Err(Error::UserNotFound.into()),
                sqlx::Error::Database(err)
                    if err.constraint() == Some("email_key") =>
                {
                    Err(Error::UsernameTaken.into())
                }
                _ => Err(err.into()),
            }


Bug: InstanceOf() calls can fail to identify CAG/CSGs correctly

Depending on module loaders, two copies of CSG.js can be used by the end user and in this library, and instanceof will fail to identify them.
Just like in CSG.js and In OpenJSCAD.org itself where these calls were removed, it needs to happen here too.

this is resolved added helpers (isCAG/isCSG) to achieve this in @jscad/csg recently


Install stuck at Processing 'terryma/vim-multiple-cursors'

Hello there,
I tried to install many time but it stuck at Processing 'terryma/vim-multiple-cursors'
Anyone face same issue?

Remove all old vim config and reinstall babun,spf13 will work
Closed ticket.


visualize height of hands

Ideas:

saturation & brightness: black when far away, bright color when near

transparency: more transparent the further away

pro: doesnt occlude background

I have added the branch feature/visDepth. Currently the height is visualized with a decrease of saturation and brightness.
The main problem is currently the lack of accuracy of depth values. They sometimes jump to unreasonable values. Maybe there is an issue with the code or we need a better camera. If the issue is not resolved it doesnt make much sense to use depth values at all i n my opinion.

There actually was an issue with my code... It is resolved now and works much better :)
Also the height visualization is now done seperatly for each hand.

the feature branch is now successfully pulled into the master :)

couldnt we just color in the depth image? Like it is visualkized in the realsense viewer


Drop Python 3.6, default to running on 3.10

Python 3.6 is well beyond end-of-life (December 2021). While 3.7 is still supported, it doesn't have long left (mid 2023). We should therefore still support using it, but there's no compelling reason to default to it.

Coverage decreased (-0.05%) to 99.405% when pulling 8186c17297b4096919b2794e04c9d66b54d165a2 on drop-python-36 into a1b114d00bf6f3e81e8b4bf40cf2f7769baa4f8b on newer-circle-image.


traefik: package version 1.0.0

[x] Installs cleanly on a fresh build of most recent master branch
[x] Upgrades cleanly from the most recent release
[x] Updates documentation relevant to the changes

an updated package is forthcoming but this is needed so that master is not broken

@stevendborrelli @ryane  FYI: We have found this blocker in upgrading to latest traefik https://github.com/containous/traefik/issues/462

The issue @npateriya brought has been resolved in a newer build.  Next steps?  Seems i need an upgraded traefik install to fix a host header forward issue :smile:

if you build from master or 1.2 (or use the mantl-1.2 repo), you will get traefik 1.0 which was released a few days ago and does include https://github.com/containous/traefik/issues/462.

Well i tried to manually update traefik via yum, but then i ran into #1563 .  I was trying to avoid rebuilding the entire environment as i would have to add back all the applications( i have 50 or so running in test ).
Course Yum doenst have the latest build...


Update README with notes for deploying to Heroku

These additional notes are written consistent with the manual steps described in the docs.
However, I wonder if it wouldn't be better to cause the Rails asset pipeline to build react_bundle via webpack through the rails configuration (IOW, have rails "pull" the react_bundle file into place instead of manually having webpack/npm "push" it into place).  Though I like the present system during development, the use of the "postinstall" approach for Heroku seems hackish and I'd bet that Rails could cause the react_bundle file to be built if not already in the assets.   In any case, the approach I've written seems to be working for me.

Hi @rdnewman
Thanks for your PR! Can you just move those notes to docs/deployment.md  and add link in main readme file?
For the integration on Rails level - we already tested something like that. Check it out: https://gist.github.com/nekath/c48af8316d1d02ed5549
Anyway, we decided to keep this out of gem for now. This way our setup is more flexible.
We will consider adding it later as a configuration option.

Thank you @rdnewman for covering heroku part. I've checked it and it works like a charm.
Added in https://github.com/netguru/react_webpack_rails/commit/86c5e1559d90a02fa0bb4433950d7cbde16fc451
Closing.


Collect more advanced metrics

We used to have advanced metrics that tell us the number of files, cancelled commits, etc.  It was found that those metrics were too expensive to collect (#1101) so we removed them.  However, ideally we'd still collect those metrics, but with more efficient queries (e.g. using secondary indexes).

Dupe of #662


xdotool leaves lots of defunct/zombie processes

Hi and thanks for this great tool, I'm using it with xdotool to perform operation but I just noticed that each time I use an action the xdotool process stays running as a defunct process (that can't be killed). If I run the same command inside  a terminal there is no defunct process left.
Am I the only one affected by this ? Do you know if there is a way to prevent that ?
Here is my config:
{
  "shape_button": "Right",
  "bindings": [
    {
      "comment": "refresh",
      "event": {
        "button": "Right",
        "event_type": "Shape",
        "shapes_xy": [
          [
            0,
            0,
            16,
            48,
            32,
            111,
            32,
            206,
            63,
            286,
            63,
            381,
            63,
            476,
            63,
            556,
            63,
            651,
            63,
            746,
            63,
            825,
            63,
            873,
            63,
            905,
            63,
            937,
            48,
            968,
            48,
            984,
            48,
            1000
          ]
        ]
      },
      "cmd_str": "xdotool key ctrl+r"
    },
    {
      "comment": "back",
      "event": {
        "button": "Right",
        "event_type": "Shape",
        "shapes_xy": [
          [
            1000,
            39,
            971,
            39,
            928,
            33,
            876,
            33,
            824,
            29,
            761,
            29,
            690,
            23,
            627,
            16,
            562,
            16,
            490,
            10,
            435,
            10,
            389,
            3,
            346,
            3,
            304,
            3,
            265,
            3,
            232,
            3,
            212,
            0,
            183,
            0,
            154,
            0,
            127,
            0,
            108,
            0,
            85,
            0,
            65,
            0,
            49,
            0,
            36,
            0,
            20,
            0,
            13,
            0,
            7,
            0,
            3,
            0,
            0,
            0,
            0,
            0
          ]
        ]
      },
      "cmd_str": "xdotool key alt+Left"
    },
    {
      "comment": "forward",
      "event": {
        "button": "Right",
        "event_type": "Shape",
        "shapes_xy": [
          [
            0,
            12,
            37,
            0,
            98,
            0,
            207,
            0,
            366,
            0,
            549,
            0,
            720,
            0,
            829,
            0,
            927,
            0,
            988,
            0,
            1000,
            0
          ]
        ]
      },
      "cmd_str": "xdotool key Alt+Right"
    },
    {
      "comment": "toggle volume",
      "event": {
        "button": "Middle",
        "modifiers": [
          "ShiftLeft"
        ],
        "event_type": "Click"
      },
      "cmd_str": "xdotool key --clearmodifiers XF86AudioMute"
    },
    {
      "comment": "volume up",
      "event": {
        "button": "WheelUp",
        "modifiers": [
          "ShiftLeft"
        ],
        "event_type": "Release"
      },
      "cmd_str": "xdotool key --clearmodifiers XF86AudioRaiseVolume"
    },
    {
      "comment": "volume down",
      "event": {
        "button": "WheelDown",
        "modifiers": [
          "ShiftLeft"
        ],
        "event_type": "Release"
      },
      "cmd_str": "xdotool key --clearmodifiers XF86AudioLowerVolume"
    }
  ]
}

I'm using it on Linux Mint 22 x64 with latest mouse-actions binary (0.4.5) with a systemd user service (that might be part of the problem):
[Unit]
Description=mouse-actions

[Service]
ExecStart=/pathto/mouse-actions start
ExecStop=/pathto/mouse-actions stop
ExecReload=/pathto/mouse-actions stop && /pathto/mouse-actions start

[Install]
WantedBy=graphical-session.target

I tried to run mouse-actions directly from terminal and I'm having the same problem of zombie processes

I confirm, I have the same bug, I'll try to figure out why


🐛 Allow empty comments in myst-to-tex

This fixes #325 where empty comment lines cause tex/pdf export to fail.

Thanks for the fix! Does this take in to account the following scenario:
%%%%%%%%%%%%%%%%%

I.e. using an arbitrary number of percentage symbols as visual divider in a document.

Looks good @fwkoch.
@dressedfez the comment does already work for that scenario (see demo), formatting could be a bit improved. Happy to take PRs! The files changed in this PR are exactly where to look!
Will get this in!


Change Dependabot schedule to weekly

Per discussion, the add-on is not released that often that the
dependencies need to be updated everyday.

?

Deleted the branch too soon :)


Deploying Keystone on Heroku without Mandrill

I used the Deploy to Heroku button found in this repo. I was redirected to Heroku's Dashboard with KeystoneJS Starter. However, I cannot proceed because I cannot remove the Mandrill add-on on the process (because, you know, I just want to try this out for free).
I know I can just manually set up KeystoneJS to Heroku and removing Mandrill dependency. However it would be so convenient if Mandrill was just an optional add-on with the KeystoneJS starter.

@val-samonte I didn't realise Mandrill had removed their free tier... I'll update this repo without email so it can be installed for free.

i have done a little research, and would like to contribute. Which email service would you like to include in the options for keystone.js ( sendemail, mailgun, postmark, cloudmailin, etc ) as they all have free/starter tiers for heroku.

@stunjiturner thanks! that would be fantastic. have a look at keystonejs/keystone#250 - in terms of picking up the discussion on support for various mail providers, that's probably the best place to discuss it. Nodemailer seems to have good support for most of the services, which if we implemented it would let us then offer the choice to set up in the generator and pick one for this repo.
It's been pointed out that this is actually a pretty big opportunity for whichever service is implemented in terms of customer acquisition, and unfortunately we've had no support (or acknowledgement) from Mailchimp despite having included first-class support for Mandrill since day 1.
So I'd be minded to take into account how community-friendly each of the services is, in terms of making the decision about the default option (including pricing, features, and willingness to support us in turn). It would be a shame to go through this again.
Definitely worth looking into, and some discussions. In the meantime let's deal with core integration in Keystone :)

Hi @JedWatson, thank you for the quick response! I saw the changes and the Mandrill was remove. However just to inform you, it still keeps asking for payment information. Heroku's bug, maybe?

Yeah, that shouldn't be happening. I'll look into it...

It is asking for payment on mine as well


Verify dependencies/relationships

for the moment this is valid for puppet-catalog-test:

node svappcavl010 {
  package {'foo':
    ensure  => 'present',
    require => Package['bar']
  }
}

Any idea on how to prevent that ? I have looked at puppet code. I tried to generate the graph from the catalog without success.

I also hit this while attempting to write test coverage for a failing puppet module. I'm surprised that the puppet catalog generator doesn't fail, even though it fails in a real deployment.


Doctrine and ManyToMany relation

Hi,
It seems the join tables n:m are not populated automatically by Faker with Doctrine, as descripted in #55 and #54. The PR related here does not seem to have been merged ? (and I cant merged this from a patch dating back to 2012).
What do you think about it ?
Thanks !

The Doctrine parts of Faker was contributed by the Doctrine dore developers, but they don't maintain it anymore. I'm considering removing this code from the Faker repository.

Ok, we'll manage with this.
Thanks for replying.


Patch definition for 6.45

Since we actually have BLU analysis now (yay!), we're going to need to be able to split between pre-6.45 level 70 cap spell expectations and 6.45+ level 80 cap spells. PR adds 6.45 to the patch list and creates empty action and status layer files

One new UnableToAct status added by yarn generate. Went ahead and saved other job maintainers some busywork by updating job support patch levels, since only BLU has job changes this patch.


F1 Function Error

Hi authors ! I have some issue with F1 function in torchmetrics. When i use:
torchmetrics.F1(num_classes = self.num_classes, average='weighted', multilabel=True)

It works !! But i have warning :  UserWarning: The multilabel=True parameter is unused and will not have any effect.
And then i changed torchmetrics.F1(num_classes = self.num_classes, average='weighted', multilclass=True) like the documment : https://torchmetrics.readthedocs.io/en/latest/references/modules.html#f1.
I have the error with init :  TypeError: __init__() got an unexpected keyword argument 'multiclass'
So what should i do to solve this issue ? Thanks and hope for your answer !

@oggyfaker what version are you using? The `multiclass was added din latest RC version so most likely you give installed v0.2.0 https://torchmetrics.readthedocs.io/en/stable/references/modules.html#f1

Yes, I am using the lastet version .

You need to install directly from master to get the latest changes (or wait until v0.3 drops which is soon)
pip install git+https://github.com/PytorchLightning/metrics.git@master

you can also install the last RC as pip install torchmetrics==0.3.0rc1

Thanks for your answer. The issue of multi class parameter solved. But it raised the new error with num_classes:

ValueError: Your have set multiclass=True, but num_classes is not equal to 2. If you are trying to transform multi-label data to 2 class multi-dimensional multi-class, you should set num_classes to either 2 or None.
I just turned off the raise error function but it still error with

So what should i do ? Hope to see your answer soon !

@oggyfaker could you please tell me what your data looks like, just to make sure that I can answer correctly.

@oggyfaker could you please tell me what your data looks like, just to make sure that I can answer correctly.
My dataloader will return like this !


mouse glitches out when moved near end of mousepad

when i move my mouse towards the edge of the mousepad, it teleports to the opposite side of the mousepad.

That's interesting, do you have a second monitor to your left of some sort?

Yes, I do

Does your left monitor has different resolutions to your right monitor? I think when the cursor gets near the border of the screen, its vertical position jumped back to 0, hence the glitch.

Actually yes! But this worked a couple of months ago. I recently reinstalled windows

I cannot replicate this bug sadly ...

Me and my friend were having issues as well with having 2k monitors and I think we found the solution.
In the config file the resolution is hardcoded to 1920x1080 so for us we simply changed the values to 2560x1440, for the second monitor you would have to just increase the width of the resolution so if you had two 1920 monitors, change the 1920 in the config file to 3840

I will try this out later!

Me and my friend were having issues as well with having 2k monitors and I think we found the solution. In the config file the resolution is hardcoded to 1920x1080 so for us we simply changed the values to 2560x1440, for the second monitor you would have to just increase the width of the resolution so if you had two 1920 monitors, change the 1920 in the config file to 3840

I tried this since I have 2 1920x1080 monitors, and it's still snapping when switching screens for some reason.


Multiple  elements on one page

If I put e.g. 5  elements (all with the same settings) on one page, the first and second work as expected.
Starting from the third, the component does not work anymore.
On the third, it seems that the coordinates of the crosshair are being miscalculated.
In 4 and 5 no crosshair is there.
The options are:
      zoomMode="hover-freeze"
      enableScrollZoom="True"
      enableLens="True"
      lensWidth="200"
      lensHeight="200"
      magnification="0.5"

Even with isInsideStaticContainer it doesn't work as expected.

Going to have to look into this one. I see you mentioned scrollParentSelector as well, did you merge that PR for yourself to test? Otherwise it's merged in 0.5.0

I think I've identified this bug as simply happening when the page is scrolled down and not being at the top. scrollParentSelector may work for getting around it for now but I'm going to have to look into some new ways to do my calculations to get around this issue.

Hi @kettenbach-it - I just released a beta version 0.6.0 to npm where I rewrote a big chunk of how I calculate the zooming position. This has resolved some issues I've seen with big pages and several ngx-image-zoom elements. Would you mind giving it a test and see if it resolves your issues as well?

I'm sorry, this is not possible for me


Getting proxy error on subdomain

Hello, I've noticed that I am getting proxy error only when I use sub-domain. When I try to access main domain it shows landing page perfectly.

Hey again,
Did you check that Evilginx on its own is working properly as discussed in https://github.com/waelmas/frameless-bitb/issues/9 ?
Since the homepage is working, this is 99% an issue with Evilginx being unreachable on port 8443.

Seems like this issue is related to Evilginx setup, closing it for now but if this is not the case, please open a new issue. Just please make sure the Evilginx setup alone is working properly first and make sure to attach all relevant information.


Correct file extension on Alternative Schema Object

Correcting the file extension from .adoc to .md so formatting displays correctly. This also fixes a broken link from the Alternative Schema Proposal.

@darrelmiller , @cmheazel , first instance of a pull request against a proposal.
I'm requesting a review and expedited merge if it's OK. If it's not OK, please apply the label P001 to associate this open PR with the proposal.

Thanks Ted.  PR #1913  includes these changes and a few more.  I suggest we pocket this one in favor of 1913.

Fixed along with a bundle of other issues in #1913.  Please merge #1913 so we can move on.

Superseded by #1993.  This PR is no longer needed.

#1993 was merged so this is no longer needed. Thanks both.


App loads search box and keyboard before loading results on search page (App displays full page loading for new chat and new group until all results are loaded and displays textbox and keyboard only after that)

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open the app on android chrome, android
Open search and observe that search box and keyboard are already displayed even when app displays loading animation on the page for results
Click on plus and click on new chat/new group and observe that app displays full page loading and displays everything as loaded together

Expected Result:
App should display full page loading untill everything is loaded on search page as it does on new chat and new group page
Actual Result:
App displays searchbox and keyboard directly and displays loading icon for results
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[x] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/43996225/232617063-1ee32a25-fd0d-43af-8138-7a6330107354.mp4
https://user-images.githubusercontent.com/43996225/232617104-41cd4549-5dea-437c-8daa-789f99e1c5e5.mp4
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1681661913240639
View all open jobs on GitHub

Triggered auto assignment to @johncschuster (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

I'm having trouble reproducing this one. I've raised a conversation in the Slack thread to get better repro steps.

@johncschuster Whoops! This issue is 2 days overdue. Let's get this updated quick!

Ok! I've had a chat with @dhanashree-sawant about this, and I think I have a better understanding of the nuance of this bug.
I've asked them to clarify the behavior in the OP, and will triage once it's clear.

Triggered auto assignment to @mountiny (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

Yo Melv, this isn't overdue. We were working on clarifying the repro steps.

Job added to Upwork: https://www.upwork.com/jobs/~018e6991ed082b993b

Current assignee @johncschuster is eligible for the External assigner, not assigning anyone new.

Triggered auto assignment to Contributor-plus team member for initial proposal review - @rushatgabhane (External)

Current assignee @mountiny is eligible for the External assigner, not assigning anyone new.

Ok I think we can make this consistent but lets make sure we do this on all pages which use this same pattern in this PR 🙇  @rushatgabhane

Proposal
Please re-state the problem that we are trying to solve in this issue.
App loads search box and keyboard before loading results on search page
What is the root cause of that problem?
Not putting search page component within the condition of loader showing.  (didScreenTransitionEnd )
What changes do you think we should make in order to solve the problem?
In App/src/pages/SearchPage.js we should make a conditional rendering to only show search bar view when didScreenTransitionEnd is true. (when results are loaded completely)
What alternative solutions did you explore? (Optional)
None

📣 @Moni1994! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:

Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.

Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

Thanks for the insight, I do agree its good to keep the page fast. Closing this


New PR to test SignCLA at 2020-03-26 16:54:52.405967927 -0700 PDT m=+3.422081758

Body of PR

indiv-pass-fork-staging: test succeeded


Crosref lowercase 'r'

Everywhere Crossref is mentioned (e.g. in source name) switch to 'Crossref'.

Thanks Joe :-)


Duplicate Jena dependency?

The pom.xml seems to depend on two Jena versions:
<dependency>
          <groupId>org.apache.jena</groupId>
          <artifactId>apache-jena-libs</artifactId>
          <type>pom</type>
          <version>2.10.1</version>
      </dependency>

      <dependency>
          <groupId>com.hp.hpl.jena</groupId>
          <artifactId>jena</artifactId>
          <version>2.6.4</version>
      </dependency>

Is that correct?

That seems likely incorrect, thanks for spotting.

Pull request https://github.com/LinkedDataFragments/Client.Java/pull/2 addresses this, as part of a Apache Jena version update.

Thanks, will follow up there then!


Change password on GitHub issue

If github password changes, but credentials doesn't change, releaser fork throws not authorized exception. But when you pass correct credentials and trying to fork releaser throws EXECUTION FAILED: org.scm4j.vcs.api.exceptions.EVCSBranchExists: branch already exists: release/0.11.  remove releaser-vcs-workspaces fix this issue.
Releaser version 0.30.0-SNAPSHOT

Fixed by doing prune branches (also tags) in scm4j-vcs-git


Background image disappearing

The background image disappears regularly, which obliges us to reconfigure it, because launcher goes back into "default" mode.
When we reboot the phone the same happens : it doesn't remember this particular setting.
Thanks for the app

Corrected in https://github.com/jrpie/Launcher


Dynamic Buttons in version 0.12

Is there an existing issue for this?

[X] I have searched the existing issues.

Is this issue related to iced?

[X] My hardware is compatible and my graphics drivers are up-to-date.

What happened?
I want to createa a dynamic button. There were previous issues for this here and here but these don't seem to work anymore. I have also seen examples like the todo one, but all of them use Button::new(state, Text).
I have tried this, yet I get the compiler error

expected 1 argument, found 2

So I assume the references are outdated. The todo example uses use iced::{Button, Text}, but that leads to unresolved imports for me. I have use::widget::{Button, Text} instead.
In my cargo toml, I have
[dependencies]
iced = "0.12"

So, how can I create a state based dynamic button?
What is the expected behavior?
Dynamic button should be created with the state and a text (or icon) as input
Version
crates.io release
Operating System
Linux
Do you have any log output?
cargo build output

|| the trait bound `iced_core::element::Element<'_, _, _, _>: From<&mut iced::widget::button::State>` is not satisfied
||    |
|| 88 |         let create_full_button = Button::new(&mut self.create_full_button_state, Text::new("Create Complete Running Order"))
||    |                                  ----------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<&mut iced::widget::button::State>` is not implemented for `iced_core::element::Element<'_, _, _, _>`, which is required by `&mut iced::widget::button::State: Into<iced_core::element::Element<'_, _, _, _>>`
||    |                                  |
||    |                                  required by a bound introduced by this call
||    |
||    = help: the following other types implement trait `From<T>`:
||              <iced_core::element::Element<'a, Message, Theme, Renderer> as From<iced::widget::Column<'a, Message, Theme, Renderer>>>
||              <iced_core::element::Element<'a, Message, Theme, Renderer> as From<MouseArea<'a, Message, Theme, Renderer>>>
||              <iced_core::element::Element<'a, Message, Theme, Renderer> as From<Row<'a, Message, Theme, Renderer>>>
||              <iced_core::element::Element<'a, Message, AnyTheme, Renderer> as From<Themer<'a, Message, Theme, Renderer>>>
||              <iced_core::element::Element<'a, Message, Theme, Renderer> as From<iced::widget::Button<'a, Message, Theme, Renderer>>>
||              <iced_core::element::Element<'a, Message, Theme, Renderer> as From<iced::widget::Checkbox<'a, Message, Theme, Renderer>>>
||              <iced_core::element::Element<'a, Message, Theme, Renderer> as From<ComboBox<'a, T, Message, Theme, Renderer>>>
||              <iced_core::element::Element<'a, Message, Theme, Renderer> as From<iced::widget::Container<'a, Message, Theme, Renderer>>>
||            and 18 others
||    = note: required for `&mut iced::widget::button::State` to implement `Into<iced_core::element::Element<'_, _, _, _>>`
|| required by a bound in `iced::widget::Button::<'a, Message, Theme, Renderer>::new`
||    |
|| 74 |     pub fn new(
||    |            --- required by a bound in this associated function
|| 75 |         content: impl Into<Element<'a, Message, Theme, Renderer>>,
||    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Button::<'a, Message, Theme, Renderer>::new`
|| this function takes 1 argument but 2 arguments were supplied
||    |
|| 88 |         let create_full_button = Button::new(&mut self.create_full_button_state, Text::new("Create Complete Running Order"))
||    |                                  ^^^^^^^^^^^                                   --------------------------------------------
||    |                                                                                | |
||    |                                                                                | unexpected argument of type `iced_core::widget::text::Text<'_, _, _>`
||    |                                                                                help: remove the extra argument

You are looking at very outdated issues and code.
I recommend you to read the book.


[dev] Output console.log messages

Starts to fix #875
Log messages work for everything that is in chrome-devtools-rs
$ wrangler dev
💁  JavaScript project found. Skipping unnecessary build!
👂  Listening on http://localhost:8000
[2019-12-03 13:26:46] "GET example.com/ HTTP/1.1"
"hi there"

work on this is being done at https://github.com/everlastingbugstopper/chrome-devtools-rs
If you'd like to help develop, there are some open issues. I'd recommend checking out this branch and cloning that repository. Make sure to switch the dependency out to your local version in wrangler's Cargo.toml.
The way I've been developing this is to make a script console.log some stuff and output the impl Display to the terminal. the raw JSON coming from the devtools protocol will be printed on a RUST_LOG=info along with any serialization errors (this can be a bit noisy as we're not interested in all messages that come from the protocol).
Anyway - there are some naive cases in the library, look for match statements with _ in them, and try running console.log on some of the object types that are in the library's issue tracker and pull them out of the _ into another arm of the match statement. I'd recommend looking at both the raw json from RUST_LOG=info and the output that cloudflareworkers.com gives for that object type and trying to match them up.
Branch off of https://github.com/EverlastingBugstopper/chrome-devtools-rs/tree/avery/object-preview-entries as it has the latest work and we don't want to reimplement it! I think the structs should all be there at this point so it's just a matter of doing the display impls.

work is being tracked here @gabbifish: https://github.com/cloudflare/wrangler/issues/875
i don't think it makes sense to make that a log::warn because there are a lot of messages we don't serialize and are safe to ignore. once we flesh that crate out and we should be handling all message types, then i'd say we should make it a log::warn

Ah, I see--we're still waiting on the complete devtools parsing implementation! In that case, can we make a //TODO to make that log a WARN when we know we've covered all possible deserializable devtools values?


Not seeing correct warning for RLOS using geographic input surface

I'm testing the warning messages from PRs #58 and #59 and not getting the expected warning message when using an Input Surface in Geographic coordinates.
I'm using a surface dataset in Geographic WGS 1984...

I set a single observer, and click OK... and the status bar swims around..

But still produces something, even though it shouldn't....

If I change the Data Frame to the same geographic coordinate system it just spins it's status bar:

Same as #61.  @jmccausland, please update the Application folder and comment on here when completed so @mfunk can retest.  Thanks.

updated, but only because it looks like Jenkins is not working properly

Verified and fixed.


Add support for localized tags and sections (%description)

I have very simple script:
#!/usr/bin/python3
from specfile import Specfile
import sys

# this is dump, but do the work
filename = sys.argv[1]
specfile = Specfile(filename)

with specfile.sections() as sections:
    print(sections.changelog)

And when I run it as /print-spec-changelog.py rpm-specs/algobox.spec it traceback with:
Traceback (most recent call last):
  File "/home/msuchy/projects/license-validate/./print-spec-changelog.py", line 9, in <module>
    with specfile.sections() as sections:
  File "/usr/lib64/python3.11/contextlib.py", line 137, in __enter__
    return next(self.gen)
           ^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/specfile/specfile.py", line 135, in sections
    sections = Sections.parse(lines)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/specfile/sections.py", line 199, in parse
    data.append(Section(lines[start][1:], lines[start + 1 : end]))
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/specfile/sections.py", line 64, in __init__
    raise ValueError(f"Invalid section name: '{name}'")
ValueError: Invalid section name: 'description(fr)'

It seems that this lines is causing the problem. https://src.fedoraproject.org/rpms/algobox/blob/rawhide/f/algobox.spec#_25
Nevertheless, this line is a valid one.

Thanks for the report, this is definitely a bug.

Nevertheless, this line is a valid one.

Actually, it isn't. Parsing only works because it is assumed to be a part of %description section:
$ rpm -qp --qf %{description} algobox-1.0.3-6.fc38.src.rpm
Algobox is an initiation to algorithmic software at high school level.

%description(fr)
Algobox est un logiciel d'initiation à l'algorithmique au niveau lycée.

The correct way to specify language for description is to use %description -l fr.
So, this is the same case as in #126. Strictly speaking it's not valid, but we should be able to parse such a spec file anyway.


ci: update chocolatey scripts

Signed-off-by: Darren Murray<EMAIL_ADDRESS>
Summary

Update chocolatey CI scripts
How did you test this change?

Run the chocolatey pipeline with the updated scripts
https://g.codefresh.io/build/63b434ab2ad6eee05da3c2a0
https://community.chocolatey.org/packages/lacework-cli/1.3.1#files
Issue

https://lacework.atlassian.net/browse/GROW-1178

This is passing Chocolatey verification now @afiune


Added PyCon17 to the live site

Fixes #1456
Changes:

Adds PyCon 17 to the live site. The added site contains single session pages since there was only one event having single page session. So, in order to bring more equality, adding the single page session version of this event.

Test Website
https://princu7.github.io/open-event-webapp/
@aayusharora  @mariobehling @geekyd @sumedh123 Please review. Thanks :)

@Princu7 There is one thing that I want to point out, when the user clicks on the a session from speakers page shouldn't the individual session should open instead of taking the user to tracks page in case of single session page events?

@geekyd Yeah. That would be more apt. Will open a new issue for it and try to solve it. Thanks!


How can I load the pdf file from firebase in android studio without downloading the URL?

you can't. check https://github.com/barteksc/AndroidPdfViewer#why-i-cannot-open-pdf-from-url

Dude I already did it

Can you shed some light how did you do that? @Atlas789

I used a method that will call the url from the webpage.

Did you used this library to load pdf or the webview?

webview =)

@Atlas789  can u send me the method that u used

Passing the firebase storage url will open without downloading
private void getPdf(String url) {
        pdfView.setVisibility(View.VISIBLE);
        final InputStream[] input = new InputStream[1];

        new AsyncTask<Void, Void, Void>() {
            @SuppressLint({"WrongThread", "StaticFieldLeak"})
            @Override
            protected Void doInBackground(Void... voids) {
                try {
                    input[0] = new URL(url).openStream();

                } catch (IOException e) {
                    e.printStackTrace();
                }
                return null;
            }
            @Override
            protected void onPostExecute(Void aVoid) {
                super.onPostExecute(aVoid);
                pdfView.fromStream(input[0])
                        .pageFitPolicy(FitPolicy.WIDTH)
                        .enableDoubletap(false)

                        .load();
            }
        }.execute();

    }


[Appium Test] Support to mock services

Describe the solution you'd like
We would like as a company to have support for mocking services in the VM side by side with Appium and that the devices can connect to the mock server running in the VM.
Describe alternatives you've considered

Allow communication between the virtual machine and the real device by enabling a specific port.
Allow testing with emulated devices.

Additional context
I'm currently using Wiremock Server with Appium running in the VM, and making the test device point to the server's IP, but the Wiremock server does not receive any request, then our test fails.
We're trying to migrate to AppCenter, but it's very important for our company to run the tests with mocked services and to have a universal way of mocking services that will work with any platform without a custom implementation for each one, as Appium provides for tests.

I use the WireMock.NET server in my Xamain.UITest project for mocking a REST-API. I can access it via localhost from iOS simulator or via <IP_ADDRESS> from Android emulator. Am I understanding this issue right, that's there's no supporting for mock server in UI tests at the moment?

I use the WireMock.NET server in my Xamain.UITest project for mocking a REST-API. I can access it via localhost from iOS simulator or via <IP_ADDRESS> from Android emulator. Am I understanding this issue right, that's there's no supporting for mock server in UI tests at the moment?

Yes @xamadev, If at that time I could not "mock-up" my application services because I had no support from AppCenter.
Tip, when you have 1 test, use the 7 days that you get for free and try it.
Note: WireMock.NET server address in AppCenter will be different from your localHost

Yes @xamadev, If at that time I could not "mock-up" my application services because I had no support from AppCenter.
Tip, when you have 1 test, use the 7 days that you get for free and try it.
Note: WireMock.NET server address in AppCenter will be different from your localHost

Did anything happen with this? The ticket is closed as 'completed' but I've tried using WireMock (Java) and passing the IP address of the build agent to the mobile app using react-native-launch-arguments but it just times out making the connection suggesting there are firewall rules to prevent access. It's less than ideal having to either test against a production service or having to expose an internet-facing mock service to test against.

Hi @GerardKrupa-Cap,
Currently, we don't support this feature and there are no plans to implement it in the foreseeable future.


Type Ahead Demo

Tom the dev wants to build a library of reference components which he can use for future projects.
The Type Ahead, an input field that will suggest items from a fetched list, is one he wants.
The Type Ahead will:

Be developed in the style of Test Driven Development.
Use a material input component
Include a drop down list which Tom can navigate using a keyboard or mouse.
Include data-qa tags for easy targeting by UI tests.
Fetch data from a service.

Breakdown of Work

[ ] Tests to check if a mat-form-field, input, and mat-autocomplete are rendered.
[ ] Create type-ahead with mat-form-field, input, and mat-autocomplete.
[ ] Test to check if given list of options are rendered as mat-options.
[ ] Test to check if typing certain words into the input displays certain options and not others.
[ ] Add a input to type-ahead-input component which accepts an array of key value pairs which are used as options.
[ ] Test to ensure type-ahead isn't rendered, and a mat-spinner is displayed when dataToDisplay is still being fetched.
[ ] Add input for dataFetchFunc which will grab the data to display.
[ ] Add input for dataKeyToDisplay
[ ] Add input for dataKeyToStore
[ ] Test to see if a data refresh will display updated options in the type ahead.
[ ] Add an input for refreshData$ observable which a parents can use to tell the type ahead when to refresh the options it displays.
[ ] Test to see if label with class input-label is rendered if an inputLabel is passed in as an input.
[ ] Add an input inputLabel which is displayed above the type ahead, telling the user what the purpose of the field is.
[ ] Test that a formControl can have it's value updated if it's passed in as an input.
[ ] Add an input control that will bind a formControl to the value of the input element.


Add OddDotNet registry files

I'm requesting to add OddDotNet and the CSharp client to the registry.

/fix:all

/fix:htmltest-config

/fix:all

@DoubleTK do not worry about the CI checks failing, we can help you with that for merging the PR

/fix:htmltest-config

@DoubleTK can you update the PR to be in sync with the base branch?
Note: Creating PRs from an ORG account like https://github.com/OddDotNet/ does not allow maintainers to edit your PR, so a lot of our automation does not work. Therefor for future PRs I recommend you fork from your user handle (DoubleTK) and push your PRs from there.

@DoubleTK can you update the PR to be in sync with the base branch?
Note: Creating PRs from an ORG account like https://github.com/OddDotNet/ does not allow maintainers to edit your PR, so a lot of our automation does not work. Therefor for future PRs I recommend you fork from your user handle (DoubleTK) and push your PRs from there.

Ah, that's good to know, I wasn't aware of that limitation. Thank you for the info, I'll make sure to do that next time. Updating branch with latest main now.

@DoubleTK can you run npm run fix:all locally and update the changes?

/fix:htmltest-config

@DoubleTK the issue is that you need to have your URLs added to the refcache. Since we can not edit this PR for you, there are 2 options:

run npm run fix:refcache locally and commit the changes
make this PR editable, following these instructions or re-raise the PR using a non-org handle

@DoubleTK the issue is that you need to have your URLs added to the refcache. Since we can not edit this PR for you, there are 2 options:

run npm run fix:refcache locally and commit the changes
make this PR editable, following these instructions or re-raise the PR using a non-org handle

I think I'm going to take that second option and redo this using my personal account rather than org. I'll get that PR created first, and then paste the link here and abandon this PR.

Okay I've created a new PR using my personal to allow for maintainer edits. Here's the link:
https://github.com/open-telemetry/opentelemetry.io/pull/5617.
Thank you again for your help and patience, I appreciate it.


Prevent owners from editing the policy on groups

Hi,
There are 3 policy options which can be set on groups to define how there membership can be changed once self-serve is enabled.

This group requires owner approval
This group is open to join for all users
Only the owner of this group can add members

The option to change this policy is provided to group owners. Can this be disabled or at the very least can we block the option to set it to "This group is open to join for all users" as an owner could inadvertently expose a open a group up for access without approval.
Also the owners have the ability to delete the group in the Access Panel. Is this something we can disable? I see there's a feature request on this but no update since 2018 (https://feedback.azure.com/forums/169401-azure-active-directory/suggestions/16886029-all-admin-to-hide-some-self-service-group-tiles-s)

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

ID: 4404d856-2612-f4a2-ed5c-fff65761293a
Version Independent ID: 35b07132-7d8a-2c29-3988-54a2ae8fcc25
Content: Set up self-service group management - Azure Active Directory
Content Source: articles/active-directory/users-groups-roles/groups-self-service-management.md
Service: active-directory
Sub-service: users-groups-roles
GitHub Login: @curtand
Microsoft Alias: curtand

@stewalshy
Thanks for your feedback! We will investigate and update as appropriate.

I think this could only work with a custom role, though I'm not sure if the custom roles can get this granular. I've reached out to the product team to confirm.


Not working on Windows 10 Enterprise x64 version 17763.316

notification.send()  returned True, but  show nothing
Windows 10 Enterprise x64     version 17763.316

Thank you for the bug report.
Can you run the notification with logging enabled and see what messages appear
from notifypy import Notify

n = Notify(enable_logging=True)

n.send()

Thank you for the bug report.
Can you run the notification with logging enabled and see what messages appear
from notifypy import Notify

n = Notify(enable_logging=True)

n.send()

2020-12-01 10:26:48.989 | INFO     | notifypy.notify:init:51 - Logging is enabled.
2020-12-01 10:26:49.589 | INFO     | notifypy.notify:send_notification:314 - Sent notification.
when I replaced the $APP_ID  with {1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\WindowsPowerShell\v1.0\powershell.exe  in  powershell script, it's work!
[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null
[Windows.UI.Notifications.ToastNotification, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null
[Windows.Data.Xml.Dom.XmlDocument, Windows.Data.Xml.Dom.XmlDocument, ContentType = WindowsRuntime] | Out-Null

# $APP_ID = "Python Application (notify.py)"
$APP_ID = "{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\WindowsPowerShell\v1.0\powershell.exe"

$template = @"
<toast duration="short"><visual><binding template="ToastImageAndText02"><image id="1" src="C:\Users\Admin\.virtualenvs\upimg-IGyqvpu_\lib\site-packages\notifypy\py-logo.png" /><text id="1">Default Title</text><text id="2">Default Message</text></binding></visual></toast>
"@

$xml = New-Object Windows.Data.Xml.Dom.XmlDocument
$xml.LoadXml($template)
$toast = New-Object Windows.UI.Notifications.ToastNotification $xml
[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($APP_ID).Show($toast)

Interesting!
If changing the APP ID works, go ahead and try to set the .application_name attribute to the same ID?

Interesting!
If changing the APP ID works, go ahead and try to set the .application_name attribute to the same ID?

works too


refactor(bench): Move data blocks within module to simplify variables

Similar change to https://github.com/sysdiglabs/terraform-google-secure-for-cloud/pull/137.
Moves subscription defaults within cloud-bench module to allow use as a standalone module
Also fixes a few errors in the cloud-bench examples

@sysdiglabs/cloud-native can we merge this PR without waiting for the integration test? We are working on getting access to a proper tenant to set it up, but this is blocking org installs of CSPM only.


'MOCHA_GREP' is not recognized as an internal or external command, operable program or batch file

Hi,
While running the meteor test. I got one error.
command: MOCHA_GREP="WishList" meteor test --once --driver-package dispatch:mocha
Please look into it

Hi @vipul08. That's an OS error, so not related to this package. Double check that you're setting the environment variable in the proper way for whatever operating system you use.


Isolated component refactor

Refactor of the dynamic field components in an isolated context so that they can be merged into the 5.4.0 release candidate individually.

The cleanup makes sense to me, I'm good with everything minus the two other comments. But question is, why the preference for double quotes vs single quotes?

Mostly it goes back to my C/C++ days (where single quotes indicated a character and double quotes indicated a string), but more practically, it's a better default. The average string is more likely to have an apostrophe than quotation marks, so you're less likely to need to escape characters this way.


README is not in sync with code

The description in the README regarding how to run the application locally is not in sync with the latest version of app.js. According to what I can see in app.js, the .env file needs to specify all of the following properties: iotf_org, iotf_id, iotf_authtoken, iotf_type. However, the descriptions just states that you need to store the organization name in the .env file.

Fixed. Thanks for reporting!


Fix for Quit Wizard button not working

Fixes OpenEVSE/openevse_esp32_firmware#690
serialQueue expects a function, so wrapped call to saveParam as with other calls.

Thanks for this @jeremypoulter
I'm sorry but I have no times those days to follow-up the project. New job & personal situations force me to lay back for now.
I'll be back probably mid November if everything goes well.
Cheers

Hi @KipK, nice to hear from you. Best of luck with your new job, hope everything is ok. Thanks a lot for your contributions.


Invalid memory access (potential information disclosure) in yr_arena_write_data()

Invalid memory access (potential information disclosure) in yr_arena_write_data()
Git HEAD: 11ffa8817fec31021fccc3e22d5a41e8bc968539
Payload
To reproduce: yara yara_ir_yr_arena_write_data.yar /usr/bin/strings
ASAN:
==1708==ERROR: AddressSanitizer: unknown-crash on address 0x7f23216f5000 at pc 0x0000004a1817 bp 0x7ffc4c8386d0 sp 0x7ffc4c837e80
READ of size 3004 at 0x7f23216f5000 thread T0
    #0 0x4a1816 in __asan_memcpy /home/llvm/clang-3.9/final/llvm.src/projects/compiler-rt/lib/asan/asan_interceptors.cc:413:3
    #1 0x595781 in yr_arena_write_data XYZ/yara/libyara/arena.c:736:3
    #2 0x53b84a in _yr_scan_verify_chained_string_match XYZ/yara/libyara/scan.c:403:7
    #3 0x53d787 in _yr_scan_match_callback XYZ/yara/libyara/scan.c:474:14
    #4 0x5260ef in yr_re_fast_exec XYZ/yara/libyara/re.c:2253:11
    #5 0x53e2a0 in _yr_scan_verify_re_match XYZ/yara/libyara/scan.c:611:5
    #6 0x53f4a9 in yr_scan_verify_match XYZ/yara/libyara/scan.c:747:5
    #7 0x535e1d in _yr_rules_scan_mem_block XYZ/yara/libyara/rules.c:276:9
    #8 0x537634 in yr_rules_scan_mem_blocks XYZ/yara/libyara/rules.c:452:5
    #9 0x538a28 in yr_rules_scan_mem XYZ/yara/libyara/rules.c:586:10
    #10 0x538a28 in yr_rules_scan_file XYZ/yara/libyara/rules.c:610
    #11 0x4ee789 in main XYZ/yara/yara.c:1228:14
    #12 0x7f232029f82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
    #13 0x41a458 in _start (/usr/local/bin/yara+0x41a458)

AddressSanitizer can not describe address in more detail (wild memory access suspected).
 Can you send me the exact /usr/bin/strings you are using?

Never mind, I've identified the problem.

@fumfel please check with the latest commit, which should solve this problem. By the way you're doing a great job in fuzzing YARA, I would love to hear about your setup.

@plusvic https://github.com/VirusTotal/yara/commit/1aaac7ba91101da0112a7365a05ef6f6281f8739 is fine :+1:
My setup is pretty simple:

American Fuzzy Lop (with yara binary) or LLVM Libfuzzer (https://gist.github.com/fumfel/c8b3c7e5be700b2303d2e42d957c5990)
Corpora from https://github.com/fumfel/yara-fuzzing-corpus

Cool!


Separate worker and service images.

We agreed to have just one repository for worker and service. But it would be better to split images into two b/c right now the image is 1,5G big and :

the webserver one doesn't need all the worker dependencies
the worker doesn't need flask & httpd

This is follow-up for #9.
Edit Tomas:

Clean up the playbooks and Dockerfiles a bit.

#104 #107 #120.


Vetur can't work in a new file.

Env

VSCode Version: 1.12.1
OS Version: Windows 10 64bit
Node Version
Vetur Version: 0.6.8

Problem
Vetur can't work in a new file.
Steps to Reproduce

npm install vue-cli

vue init webpack test

cd test
npm install

create a new file named Test.vue in /src/components/

<template>

test

</template>

IntelliSense can't work

restart VSCode

This is normal

Good find. Thanks!
Btw, which theme are you using?

@octref
Quiet Light

The fix is published in 0.6.9.

@octref
Sorry, I have to ask for your help in  Vetur 0.6.9. It work in *.js. But it is lazy in *.vue.

This is similar to #183.

@octref
More Info:
It is normal for some function such as lint, format, snippet and so on. But IntelliSense can't work.

Is it only for new vue file or for all vue files?
Are you using cnpm and  having symlinks in your node_modules?
What's your npm ls --depth=0?

@octref
It is for all vue files.
Perhaps, I should have a new issue.

It seems you are using the webpack template? It's working for me fine.
Can you try removing your node_modules folder and run npm i again? The only thing I can think of is your dependency is not installed correctly.

@octref
It still can't work after npm i. I don't know the reason.
All features can work in Vetur 0.6.8. But IntelliSense is lazy in all vue files in Vetur 0.6.9.

Try renaming the project so the cache resets...
Meanwhile if that's the cause I'll need to figure out a way to clear cache between updates.

Sorry, it is unuseful for me. In fact, the feature of IntelliSense can't work in all vue files in all project when the version of vetur is 0.6.9. Maybe, I use vetur 0.6.8 before a new version.

I'll track that in 205.


lib/serialization: fix deserialization constructor calling the default init

Restore previous behavior of the deserialization init which should not call the default init. This caused problems on default inits that accessed not yet deserialized attributes.
This also fixes WBTW troubles with game saving and multiplayer.

+1. Maybe this solve also the bugs of @Morriar with deserialization

Some tests failed with nitc --erasure: http://gresil.org/jenkins/view/Intégration/job/nit_tests/engine=nitg-e,label=tolkien/1044/testReport/

@privat Yup it solves the problem.
+1

The change of behavior was caused by #1566, which also updated a few serialization tests to the broken behavior. Because nitce is not supported by nitserial, these tests were expected to fail partially (as in produce empty instances but not crash). However with the broken behavior, the default init was called and filled the instances with the default values and then it tried to deserialize it.

still one error


Looking up libraryName instead of contractName

The code appears to be trying to detect a missing library, but it's actually looking up the name of the contract that's using the library.

Why did that work before?

It didn't throw an immediate error because contractName was in scope: https://github.com/ethereum/browser-solidity/blob/master/src/universal-dapp.js#L494

Sure, but linking actually worked.

The only time it wouldn't work is if the contract's bytecode referred to a non-existent library. The only thing this PR fixed was that instead of getting a runtime error due to invalid bytecode, the user gets a link-time error of Library <libraryName> not found.


FLI rebalancing equations incorrect

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to https://www.indexcoop.com/ethfli or https://www.indexcoop.com/btcfli
Scroll down to the bottom equation
See that the equation says CLRt+1 = max(MINLR, min(MAXLR, TLR * (1 — RS) + CLRt * RS)) (this is wrong)

Expected behavior
Equation for calculating the new leverage ratio should be:
CLRt+1 = max(MINLR, min(MAXLR, CLRt * (1 - RS) + TLR * RS))

I can fix this today. I'll have a PR out for it later


[stable/cert-manager] webhook cronjob schedule is bogus

https://github.com/helm/charts/blob/45eaa99ed4aee0d81c6cc90920ff5f5bbcc7cb5b/stable/cert-manager/webhook/templates/ca-sync.yaml#L16
This configures a CronJob that runs every minute on the 24th of every month, but never in between. That can't be what was intended. Perhaps 0 0 */24 * * for midnight on the 24th?

Ping? Keeping this ticket open as it's still an issue.


XSS possibility

Summary
An attacker can break the pages by adding arbitrary html tag into .name or .about in kind 0.
Since the <script> tag does not seem to be evaluated, it may not be a serious security issue.
Solution
Do NOT evaluate user content directly as html, it should be sanitized.
Screenshot
When .name contains a <marquee> tag:
https://github.com/DanConwayDev/nostr-profile-manager/assets/1457682/bcdfc4f1-d084-418c-90e2-74726b19732e

Arbitrary code can be executed by changing the name to <img src="x" onerror="console.log(localStorage.getItem('pubkey'))">.

Look good for me! #4 seemed fine too.
IMO, it would be safer to stop using raw html and use frameworks like react or svelte.
Thank you for your response ❤


Add buffering to debug dump stream

This PR adds buffering to the debug dump streaming. This should improve the reliability of the debug dump functionality in the case where workers crash or get deleted (e.g. standby / autoscaling) midstream. Also, the goroutine dump was switched to the proto format to enable the use of go tool pprof for exploring / visualizing the goroutine dump.

Yeah, your description of the issue is correct. Having the subset of the expected files from before the error was an intentional goal of this change, but it also makes the implementation simpler / better because we don't need to buffer the full worker tar stream in the local filesystem.


Cache location is not valid when cache_bucket_suffix_enabled = true

Describe the Bug
When cache_bucket_suffix_enabled is True, this module raises an error:
❯ cd terraform-aws-codebuild/examples/complete
❯ terraform plan -var-file fixtures.us-east-2.tfvars -var cache_bucket_suffix_enabled=true
╷
│ Error: cache location is required when cache type is "S3"
│
│   with module.codebuild.aws_codebuild_project.default[0],
│   on ../../main.tf line 292, in resource "aws_codebuild_project" "default":
│  292: resource "aws_codebuild_project" "default" {
│
╵

❯ terraform plan -var-file fixtures.us-east-2.tfvars

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create
 <= read (data resources)

Terraform will perform the following actions:

  # module.codebuild.data.aws_iam_policy_document.permissions_cache_bucket[0] will be read during apply
  # (config refers to values not yet known)
 <= data "aws_iam_policy_document" "permissions_cache_bucket"  {
      + id   = (known after apply)
      + json = (known after apply)

      + statement {
...

This is having downstream effects. eg: https://github.com/cloudposse/terraform-aws-ecs-codepipeline/issues/71
Expected Behavior
No error
Steps to Reproduce
cd terraform-aws-codebuild/examples/complete
terraform plan -var-file fixtures.us-east-2.tfvars -var cache_bucket_suffix_enabled=true

Did some troubleshooting and was able to narrow it down to random_string.
this works:
  cache_options = {
    "S3" = {
      type     = "S3"
      location = this.module.id
    },
...

but this does not...
  cache_bucket_name = "${module.this.id}${var.cache_bucket_suffix_enabled ? "-${join("", random_string.bucket_prefix.*.result)}" : ""}"
  cache_options = {
    "S3" = {
      type     = "S3"
      location = local.cache_bucket_name
    },
...

this also works...
  moo = "moo"
  cache_options = {
    "S3" = {
      type     = "S3"
      location = local.moo
    },
...

this does not...
  cache_bucket_name   = "${module.this.id}-${join("", random_string.bucket_prefix.*.result)}"
  cache_options = {
    "S3" = {
      type     = "S3"
      location = local.cache_bucket_name
    },
...

this does...
  cache_bucket_name   = module.this.id
  cache_options = {
    "S3" = {
      type     = "S3"
      location = local.cache_bucket_name
    },
...

this does...
  cache_bucket_name   = "${module.this.id}-moo"
  cache_options = {
    "S3" = {
      type     = "S3"
      location = local.cache_bucket_name
    },
...

this does not...
  cache_bucket_name   = join("", random_string.bucket_prefix.*.result)
  cache_options = {
    "S3" = {
      type     = "S3"
      location = local.cache_bucket_name
    },
...

for whatever reason, calling that random_string resource causes a complete interpolation failure. just to be sure i used random_id with no count and got the same result:
  cache_bucket_name   = "${module.this.id}-${random_id.bucket_prefix.hex}"
  cache_options = {
    "S3" = {
      type     = "S3"
      location = local.cache_bucket_name
    },
...

updating the normalization logic to exclude the suffix, instead adding that to the cache_bucket resource fails as well:
  cache_bucket_name_normalised = substr(
    join("-", split("_", lower(module.this.id))),
    0,
    min(length(module.this.id), var.cache_bucket_suffix_enabled ? 50 : 63),
  )

...

resource "aws_s3_bucket" "cache_bucket" {
  count         = module.this.enabled && local.s3_cache_enabled ? 1 : 0
  bucket        = var.cache_bucket_suffix_enabled ? "${local.cache_bucket_name_normalised}-${random_id.bucket_prefix.hex}" : local.cache_bucket_name_normalised
...

Using the prefix arg for random_id and leaving out interpolation entirely also fails.
I even tried changing cache_bucket_suffix_enabled to accept a string and set cache_bucket_name to "${module.this.id}${var.cache_bucket_suffix_enabled}". Then I passed the result from random_string in from the complete example's main.tf and still got the same error:
resource "random_string" "bucket_prefix" {
  length  = 12
  number  = false
  upper   = false
  special = false
  lower   = true
}

module "codebuild" {
  source                      = "../../"
  cache_bucket_suffix_enabled = random_string.bucket_prefix.result
  environment_variables       = var.environment_variables
  cache_expiration_days       = var.cache_expiration_days
  cache_type                  = var.cache_type

  context = module.this.context
}
}

and same as before, changing it to a plain string worked fine...
module "codebuild" {
  source                      = "../../"
  cache_bucket_suffix_enabled = "moo"
  environment_variables       = var.environment_variables
  cache_expiration_days       = var.cache_expiration_days
  cache_type                  = var.cache_type

  context = module.this.context
}

The original usage is entirely in-line with the Terraform docs example, so I don't know why this would be happening.
# The following example shows how to generate a unique name for an AWS EC2
# instance that changes each time a new AMI id is selected.

resource "random_id" "server" {
  keepers = {
    # Generate a new id each time we switch to a new AMI id
    ami_id = "${var.ami_id}"
  }

  byte_length = 8
}

resource "aws_instance" "server" {
  tags = {
    Name = "web-server ${random_id.server.hex}"
  }

  # Read the AMI id "through" the random_id resource to ensure that
  # both will change together.
  ami = random_id.server.keepers.ami_id

  # ... (other aws_instance arguments) ...
}

In the debug logs I do see a warning about non-computed attributes but bug reports mentioning that say it's expected and ok. However the bit at the end caught my eye.
2021-08-01T13:56:04.483-0500 [WARN]  Provider "registry.terraform.io/hashicorp/random" produced an invalid plan for module.codebuild.random_string.bucket_prefix[0], but we are tolerating it because it is using the legacy plugin SDK.
    The following problems may be the cause of any confusing errors from downstream operations:
      - .min_lower: planned value cty.NumberIntVal(0) for a non-computed attribute
      - .min_numeric: planned value cty.NumberIntVal(0) for a non-computed attribute
      - .min_special: planned value cty.NumberIntVal(0) for a non-computed attribute
      - .min_upper: planned value cty.NumberIntVal(0) for a non-computed attribute
2021-08-01T13:56:04.484-0500 [DEBUG] provider.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = transport is closing"
2021-08-01T13:56:04.485-0500 [DEBUG] provider: plugin process exited: path=.terraform/providers/registry.terraform.io/hashicorp/random/3.1.0/darwin_amd64/terraform-provider-random_v3.1.0_x5 pid=76169
2021-08-01T13:56:04.485-0500 [DEBUG] provider: plugin exited

There is a bug report open for the same error when using random. User found that setting the length to 15 fixed the issue. Updating random_string to use a length of 15 or 18 didn't work, neither did setting values for min_.
TL;DR: WTF?

In PR 92, the output of terratest shows the correct suffix attached to the bucket.
https://github.com/cloudposse/actions/runs/3220447314?check_suite_focus=true
Could you try doing a terraform plan using the examples/complete in the repo ?
git clone git@github.com:cloudposse/terraform-aws-codebuild.git
cd examples/complete
terraform plan -target -var-file=fixtures.us-east-2.tfvars

All of my testing was done using the complete example. I cannot get a plan to pass with the random_string in use.
The issue I referenced in the bug report is from another user who hit the exact same issue.

$ terraform-aws-codebuild/examples/complete
$ git pull
remote: Enumerating objects: 29, done.
remote: Counting objects: 100% (29/29), done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 29 (delta 12), reused 7 (delta 3), pack-reused 0
Unpacking objects: 100% (29/29), 18.40 KiB | 538.00 KiB/s, done.
From https://github.com/cloudposse/terraform-aws-codebuild
 * [new branch]      cache_bucket_suffix_enabled -> origin/cache_bucket_suffix_enabled
Already up to date.

$  git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

$ terraform plan -var-file fixtures.us-east-2.tfvars -var cache_bucket_suffix_enabled=true
╷
│ Error: cache location is required when cache type is "S3"
│
│   with module.codebuild.aws_codebuild_project.default[0],
│   on ../../main.tf line 292, in resource "aws_codebuild_project" "default":
│  292: resource "aws_codebuild_project" "default" {
│
╵

I put together a minimal test project using random_string and it passes planning no problem.
resource "random_string" "bucket_suffix" {
  length  = 12
  number  = false
  upper   = false
  special = false
  lower   = true
}

resource "aws_s3_bucket" "test" {
  bucket = "test-bucket-${random_string.bucket_suffix.result}"
}

terraform {
  required_version = ">= 0.13.0"

  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = ">= 2.0"
    }
    template = {
      source  = "hashicorp/template"
      version = ">= 2.0"
    }
    local = {
      source  = "hashicorp/local"
      version = ">= 1.2"
    }
    random = {
      source  = "hashicorp/random"
      version = ">= 2.1"
    }
    null = {
      source  = "hashicorp/null"
      version = ">= 2.0"
    }
  }
}

$ terraform plan
provider.aws.region
  The region where AWS operations will take place. Examples
  are us-east-1, us-west-2, etc.

  Enter a value: us-east-1

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # aws_s3_bucket.test will be created
  + resource "aws_s3_bucket" "test" {
      + acceleration_status         = (known after apply)
      + acl                         = "private"
      + arn                         = (known after apply)
      + bucket                      = (known after apply)
      + bucket_domain_name          = (known after apply)
      + bucket_regional_domain_name = (known after apply)
      + force_destroy               = false
      + hosted_zone_id              = (known after apply)
      + id                          = (known after apply)
      + region                      = (known after apply)
      + request_payer               = (known after apply)
      + tags_all                    = (known after apply)
      + website_domain              = (known after apply)
      + website_endpoint            = (known after apply)

      + versioning {
          + enabled    = (known after apply)
          + mfa_delete = (known after apply)
        }
    }

  # random_string.bucket_suffix will be created
  + resource "random_string" "bucket_suffix" {
      + id          = (known after apply)
      + length      = 12
      + lower       = true
      + min_lower   = 0
      + min_numeric = 0
      + min_special = 0
      + min_upper   = 0
      + number      = false
      + result      = (known after apply)
      + special     = false
      + upper       = false
    }

Plan: 2 to add, 0 to change, 0 to destroy.

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions if you run "terraform apply" now.

If it's working in our tests but not for you, perhaps it has something to do with the version of terraform you're using.
I tested locally using terraform 1.0 and the tests use terraform 0.13.x.

it's not just me though: cloudposse/terraform-aws-ecs-codepipeline#71
❯ terraform --version
Terraform v1.0.1
on darwin_amd64
+ provider registry.terraform.io/hashicorp/aws v3.52.0
+ provider registry.terraform.io/hashicorp/random v3.1.0


Add missing redirect_addr in HA consul config

Redirect address is required for HA setup with consul.

Thanks!


Add a scaffold network implementation

This adds a implementation of an approach inspired by the Scaffold Tree and Scaffold Network algorithms (https://pubs.acs.org/doi/abs/10.1021/ci600338x, https://pubs.acs.org/doi/abs/10.1021/ci2000924) for generating the scaffold network for a set of compounds.
Major differences from the original algorithm:

This does not modify ring systems (though it's possible to provide fragmentation rules which do so)
Fragmentation rules are user-configurable
Rather than using heuristics to choose which fragments to keep, all are preserved.
Attachment point information is preserved by default
Generic scaffolds - all atoms/bonds converted to dummy atoms/bonds - can also be generated

The algorithm is reasonably configurable and includes tests and the usual in-code docs
Include Python and SWIG wrappers.

@greglandrum I'm going to use this in anger, it might take a few days but I currently approve this PR.

@greglandrum I'm going to use this in anger, it might take a few days but I currently approve this PR.

Hopefully that ends up being "using it in anger" and not "angry while using it" ;-)


ID4 Submission

Account Address: 31pDhx7oTAWzz3A951H9DvVEbmtsPNPLapfXTB4MtCrfwDuT45
Device: Xiaomi, Redmi Note 7, Android 9 PKQ1.180904.001

confirmed:ID4
AccountAddress:31pDhx7oTAWzz3A951H9DvVEbmtsPNPLapfXTB4MtCrfwDuT45
DeviceDetails:verified

confirmed:ID4
AccountAddress:31pDhx7oTAWzz3A951H9DvVEbmtsPNPLapfXTB4MtCrfwDuT45
DeviceDetails:verified


Using in-built reference genomes

Hi,
I'm really keen to use this image for some of my teaching. The plan is to install the image on an Amazon instance that the students can access rather than relying on the public Galaxy.
According to these instructions, I should be able to use in-built reference genomes with the --privileged flag:-
https://github.com/bgruening/docker-galaxy-stable/blob/master/README.md#cvmfs
However, with the following docker command I'm not seeing any reference genomes under the Select reference genome option of bwa
docker run -d -p 8080:80 -p 8021:21 -p 8022:22 --privileged bgruening/galaxy-exome-seq
Is there something else I need to do?

That looks ok. So it's working now? Please let me know how the teaching was - this is super interesting for me :)
Thanks @markdunning!

Yes, it seems to be. Thanks for the fix. The course is a few months away but will keep you posted.
However, in a few weeks time I'll be doing an RNA-seq course hopefully using the galaxy-rna-workbench and that image seems to have the same issue of not having reference genomes. I'll open an issue in that repo...

However, in a few weeks time I'll be doing an RNA-seq course hopefully using the galaxy-rna-workbench and that image seems to have the same issue of not having reference genomes. I'll open an issue in that repo...

Which version are you using, currently working on it.
Please also have a look at http://rna.usegalaxy.eu & https://galaxyproject.eu/tiaas.

Thanks! I'll definitely check out the links. It sounds like a fantastic resource


New Effect API to allow for reusable side-effect methods

Copied this comment from #54
After using redux-loop a bit more in practice, I've started to have some thoughts on how the api could encourage a little more code reuse and simplify a few things.
One issue with forcing effects to return/resolve with redux actions is that the implementations of the side-effects become tied to redux/redux-loop. Suddenly a pretty standard function to make a request, such as this,
import apiClient from './apiClient.js'; //to abstract away fetch details like json parsing and error codes

function fetchItems(userid){
  return apiClient(`/users/${userId}/items`)
      .then(rsp => {
           //process rsp
           return processedRsp;
       }).catch(err => {
            console.log(':(');
            return err;
       });
}

can't be used by redux-loop without changing it in a way that makes it unusable by something else (you can no longer reject the promise, and your resolution needs to be a redux action and not just the list of items).
Additionally, even if you wanted it only for redux-loop, it would be impossible (or at least awkward) to use a side-effect to return different types of actions depending on how it is called (I haven't had a need to do this yet, but it's not hard to imagine a case where you'd want it)
What if we allowed side-effects to become completely agnostic to redux-loop/redux in general, and instead return whatever they felt was necessary to complete their purpose (so for async methods, prob would be a promise that resolves or rejects to indicate success).
So instead of defining the actions triggered (or not) by the effect in the method, it could be defined in the Effect object itself.
The new effect objects returned by a reducer might look like this
//actions.js
function itemsLoadedActionCreator(items){
    return {
       type: 'ITEMS_LOADED',
       items: items
    };
}
// ... other action creators

//reducer.js
return loop(newState, Effect.promise(fetchItems, itemsLoadedActionCreator, failHandler, params...));

Effect.call(writeToLocalStore, syncMethodActionCreator, params...)

//Effects.constant could be implemented as syntactic sugar for
Effects.call(null, constantAction());

//batch would be basically the same
//I imagine lift would be similar, though I haven't looked into it much yet

And now your effects are completely reusable and agnostic to your choice of state management. You could swap out redux-loop or even redux iteself without having to change them.

Additionally, and it could be separate from this, I think it could be useful to allow passing the dispatch method to side-effects. I have a few scenarios where it would be nice if the side effect was able to dispatch an action, without it being the specific action that is the result of the effect.

Let's leave passing dispatch to effects for another discussion. Feel free to open up another issue about it!
So here are my initial thoughts:
I take your point about wanting to keep actual effects separate from the redux-loop API very well. This is something I've started to notice in code at work too - even when we do have reusable effect functions they still need to be wrapped in an entire additional function that can be exported in order to test reducers. Passing the action creators for success and failure has a ton of positive impact on this problem.

Just exactly as you said, functions that produce Promises can just return a Promise for the thing that they are doing. Action creators can and should be separate. This change can be seen in Elm as well. In 0.17, rather than mapping a Task directly onto success and failure actions, you take an ordinary Task and "perform" it, turning it into a Cmd (the new term for Effect, if you haven't been following). It looks more like this now:

LoadStuff id ->
  ( { model | stuff = Loading }
  , Api.loadStuff id |> Task.perform LoadStuffFailure LoadStuffSuccess
  )

LoadStuffSuccess stuff ->
  ( { model | stuff = Success stuff }
  , Cmd.none
  )

LoadStuffFailure errorMessage ->
  ( { model | stuff = Failure errorMessage }
  , Cmd.none
  )

Where Api.loadStuff is returning a Task String (List Thing) or whatever and the conversion to actions happens later. So, this is a long-winded way of saying I think this is a great idea.

We no longer need to track if the user actually passed something into .catch() and print a confusing error message. We can simply throw if the user doesn't call the effect creator correctly and let them know that they left off the argument for the failure action creator or some such.

So here is my initial vision for an API based on your ideas:

Let's rename Effects to Cmd to keep consistency since this is still a port
Let's create a bunch of Cmd.from{Something} functions that enforce their arguments but keep things nicely separated

Cmd.fromPromise(promiseCreator, successActionCreator, failureActionCreator, ...params)
Cmd.fromFailproofPromise(promiseCreator, successActionCreator, ...params) - for when you're doing like a timeout or something
Cmd.fromConstant(action)
Cmd.fromSync(syncEffect, successActionCreator, failureActionCreator, ...params) - as a replacement for Effects.call, will probably need more discussion
Maybe Cmd.fromCallback(nodeStyleFunction, successCreator, failureCreator, ...params) for convenience?

And then the pre-existing

Cmd.batch(otherCmds)
Cmd.map(tagger, otherCmd)
Cmd.none

Function names are all up for debate and suggestions.

Thanks for getting back so quickly @lukewestby.
I haven't used Elm before, but I like the idea of keeping it in sync for people who have. A few other thoughts...

Is the from prefix necessary? If they basically all have it, it might be cleaner to just get rid of it.
FromSync wouldn't need a fail handler (unless it got called due to an exception being thrown. but idk if that's necessary)
Is Cmd.map equivalent to Effects.lift? Otherwise i'm not sure what it is.
Not sure about failproof promise. I feel like it could be combined with promise. Why not just pass nothing for the fail handler.
I'm confused how the fromCallback would look. How would the action creators get triggered?

I know it goes back to the other issue I posted, but making all of these action creators optional (and in the loop code just say if actionCreator, dispatch result) could cut down a lot of unnecessary code. Most of my synchronous cmds don't dispatch actions when done, and having to pass a noop generator to all of them seems like a waste.  I have it implemented with them being optional in a branch here (along with the sequence effect we discussed in another issue)

Is the from prefix necessary? If they basically all have it, it might be cleaner to just get rid of it.

It isn't, let's leave it off

FromSync wouldn't need a fail handler (unless it got called due to an exception being thrown. but idk if that's necessary)

(We can refer to this as call again) we can leave the failure handler off for now and log something to the console if a call effect ends up throwing

Is Cmd.map equivalent to Effects.lift? Otherwise i'm not sure what it is.

It is, I apologize. Let's leave it as Cmd.lift.

Not sure about failproof promise. I feel like it could be combined with promise. Why not just pass nothing for the fail handler.

Leaving the failure handler out would make it hard or impossible to detect if the thing in the failure handler's position is an action creator or one of the params. I would prefer two separate functions here. Doing async things that never fail has come up several times for us in the past, I'd like for this to be included in the API.

I'm confused how the fromCallback would look. How would the action creators get triggered?

It can be wrapped in a Promise, something like this:
new Promise((resolve) => {
  nodeStyleFunction((error, result) => {
    if (error) resolve(failureCreator(error))
    else resolve(successCreator(result))
  })
})

For effects that don't return actions, what do you think about a totally separate Cmd function that will just accept any function followed by its arguments and call it regardless of whether it returns a promise or whatever. I'm not sure what to call it yet, something like Cmd.arbitrary(effectFunction, ...params). This would effectively be equivalent to port commands in Elm.

It is, I apologize. Let's leave it as Cmd.lift.

Isn't it map in Elm? It'd be nice to have them the same. Though it is confusing to rename it. If you want to get it to have the same name eventually, we could have lift be an alias for map, and put a deprecation notice in for it or something. I don't feel too strongly about the name either way.
As far as the effects that don't return actions, what about having the exact same types, but namespaced differently. Either Arbitrary.call, Arbitrary.promise or maybe Cmd.Arbitrary.call. I'm not really sure what the new name would be either. But something like that would be easy to grasp as doing the same thing but not forcing you to dispatch an action. And could probably be implemented as wrappers around the originals. Though it also would only be relevant for a few of the types (No need for Arbitary.batch constant or none)
Everything else you said sounds good to me.

@bdwain can you share a code snippet as close as possible without revealing IP that demonstrates the use-case for command action creators being optional?

sure.
export function writeAuthUpdatesToStorage(newAuthState){
  localStorage.setItem(AUTH_TOKEN_STORAGE_IDENTIFIER, newAuthState.get('authToken'));
  localStorage.setItem(USER_ID_STORAGE_IDENTIFIER, newAuthState.get('userId'));
  localStorage.setItem(CURRENT_USER_STORAGE_IDENTIFIER, JSON.stringify(newAuthState.get('currentUser')));
}

//reducer.js

if(action.type === 'SET_AUTH_DATA'){
  newState = state.merge(action); //or something like that
  return loop(newState, Effects.call(writeAuthUpdatesToStorage, newState);
}

so in my app, we back up auth data to localstorage so that on refresh you are still logged in. so every change should trigger a localstorage update. but after that, i don't have anything else to do.

cool. so i mentioned before, but want to revisit that this use case and lots of others could be covered by having a single function Cmd.arbitrary or Cmd.port or whatever that accepts any function followed by its args and just calls it without caring about what it returns or what the outcome is. For this one it might look like
if (action.type === 'SET_AUTH_DATA') {
  newState = state.merge(action.payload) // or whatever
  return loop(newState, Cmd.arbitrary(writeAuthUpdatesToStorage, newState)
}

if in the future you wanted to also add some sort of logging you could write an effect function that made a network request like
export function logState(state) {
  fetch('/logs', { method: 'POST', body: JSON.stringify(state) })
}

// reducer.js

if (action.type === 'SET_AUTH_DATA') {
  newState = state.merge(action)
  return loop(
    newState,
    Cmd.batch([
      Cmd.arbitrary(writeAuthUpdatesToStorage, newState),
      Cmd.arbitrary(logState, newState),
    ])
  )
}

it doesn't matter of what form the effect is if you don't care about the outcome so I think most things can be covered by just the one Cmd.arbitrary function.

That's true. I guess I was thinking that you needed one for each command type but I guess if you're not checking the return value then it's just calling the function and that's it.
The only question is what about In a batch (or sequence like we talked about in the other issue). Let's say it was an asynchronous port call. How would the batch know not to dispatch all of its actions until after the port completed. Or if it was a sequence and the effect after the port had to wait until it finished.
Maybe the solution is to have a port and an asyncPort that returns a promise that batching knows to wait for?

Also after reading about ports a little I think the name makes sense for this case

any thoughts on this @lukewestby

I think that all sounds good, I've rethought naming them port and asyncPort, since those names in Elm are meant to indicate that you're escaping the constraints of the Elm program into JS-land by exiting and entering through a "port". One more thing before moving forward - can you include an example usage where ordering these things is important? I just always like to see the motivation for a feature when I haven't needed it myself.

Cool. Are you going to stick with arbitary for now then?
When you say an example of where ordering is important, do you mean for Effect.Sequence? The example i needed it for was writing to localStorage first, and then doing something that depended on the value in storage.

The only question is what about In a batch (or sequence like we talked about in the other issue). Let's say it was an asynchronous port call. How would the batch know not to dispatch all of its actions until after the port completed. Or if it was a sequence and the effect after the port had to wait until it finished.

It looks like you adressed this question with your isPromiseLike check.

Let's stick with arbitrary. Do you think being able to optionally return a Promise in an arbitrary effect and then detecting that will be sufficient for what you need to do?

yep i think that will address my concern. if you batch something synchronous then the batch doesn't need to wait for anything to happen.

good deal. i think we can close this issue then! 🎉