Issue 152: add increment to changes collection

All the infrastructure seems to be there and passing linting

Having an issue when applying changes on top of latest main branch:
ERROR [ValidationGuard] TypeError: Cannot destructure property 'userModel' of 'undefined' as it is undefined.
I'm assuming this is related to the latest auth additions. If you've encountered it, anything I can do to easily fix?

You might try rebasing on main again. I just did that and didn't see any error.
I did notice, though, that if there is not an entry in the sequences collection yet (e.g. after Apollo is first set up and there aren't any changes), then it gives an error. So you'll need to add some code to initialize the sequences collection if it's empty.

@garrettjstevens I've rebased, checked there are sequences in db, restarted, rebuilt the remote container etc but still getting issues.

Currently seeing TypeError: AuthPlugin.exports is undefined in the browser when attempting to load jbrowse_config (see screenshot). I can see that the AuthPlugin = pluginManager.getPlugin('AuthenticationPlugin') was added to model.ts yesterday as part of PR 159.

This is proving a bit of a blocker, so help on this asap would be appreciated.

I've also tried running "yarn" in the root directories of the apollo-collaboration-server and jbrowse-plugin-apollo as I noticed the package.json deps were updated there

@haessar sorry for the delay, I was away for a few days. It looks like you need to pull the latest changes to main in jbrowse-components, some of the auth stuff depends on some recent changes there.


Replace editorconfig parser to ec4j.

Replace custom editorconfig parser to https://github.com/ec4j/ec4j.
It is one of official java .editorconfig parsers: https://editorconfig.org/#create-a-plugin
Fixes #555

Not sure if we still support maven builds. If yes, I will add ec4j dependency to maven as well.


Use a properly SELinux-labelled location for the storage tests

What this PR does / why we need it:
/tmp is labelled tmp_t, which containers (labelled container_t) can't write to.
/var/run/kubevirt is also a tmpfs location, but it has the label we want (container_file_t).
Switching to that.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Should fix at least test 3107 on the 1.17 test lane.
Release note:

NONE

Replaced by https://github.com/kubevirt/kubevirtci/pull/340 and https://github.com/kubevirt/kubevirt/pull/3276


feat: bump walletconnect packages to latest

Description

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

High Risk PRs Require 2 approvals

What protocols, transaction types or contract interactions might be affected by this PR?

Testing

Engineering

Operations

Screenshots (if applicable)

#6553  👈
develop

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @gomesalexandre and the rest of your teammates on  Graphite


Clean up child compilation chunk graph to avoid memory leak

Fixes https://github.com/webpack/webpack/issues/17851
Cleans up child compilation chunk graph which includes references to the compiler and parent compiler, causing a memory leak. It looks to me like child compilers were accidentally overlooked when this change was made to clean up modules/chunks in the parent:  https://github.com/webpack/webpack/pull/12894/files#diff-732395f8fcd972919381425c80194bb0def0a2af50c0940762299605a81c0006R360-R372
Details in the reproduction repo here: https://github.com/helloitsjoe/webpack-memory-leak (let me know if you want me to add more detail inline in this PR description)

Heap diff before
Heap diff after

Summary

🤖[deprecated] Generated by Copilot at 0f517fd
Refactor Compiler class to clear chunk graph data of child compilations in close method. This prevents memory leaks and improves performance.
Details

🤖[deprecated] Generated by Copilot at 0f517fd

Clear chunk graph data for child compilation chunks to prevent memory leaks and improve performance (link)

I plan on adding tests after I familiarize myself with Webpack's unit test structure, I'll leave this PR in draft until then.

I noticed the original PR to add cleanup doesn't include tests, and I'm not exactly sure how to go about writing tests for this case. If you would like me to add tests just let me know and I'll look further into how I could test this!

Thank you, release will be soon


[BEAM-8842] Disable the correct test

Disabled the wrong test in #10239. Sorry :man_shrugging:

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

R: @aaltay


Fixing settings checkboxes

@gabrielpoca solution inspired by this: https://stackoverflow.com/questions/64042394/react-hook-form-and-material-ui-formcontrol


Hardcode DD deploy event

Make the dir before
Hardcode the length of title/text
Hardcode title/text

Having to make the directory is kinda weird since it’s not a real file. But whatever works 🤷♂


TypeError: React.findDOMNode is not a function

Hello,
In newer versions of react, React.findDOMNode is not a function anymore.
It needs to be replaced by ReactDOM.findDOMNode

Any updates if this issue will be resolved?

@egarza54 it is resolved if you update to 4.14.30_4


added SwapSort

Implementations of C++ and C has also been added

Thanks.
Will add Count Sort as well soon.

@Naprila oka.


Debian package repository for libmediainfo-dev does not contain the actual .so file, just a link

The download packages here:
https://packages.debian.org/buster/libmediainfo-dev
https://packages.debian.org/stretch/libmediainfo-dev
Are missing the lib file, only symbolic links were packaged.
Repro steps:
curl -o ./libmediainfo-dev_18.12-2_amd64.deb http://http.us.debian.org/debian/pool/main/libm/libmediainfo/libmediainfo-dev_18.12-2_amd64.deb
dpkg -x ./libmediainfo-dev_18.12-2_amd64.deb ./unpacked_libmediainfodev
ls -la ./unpacked_libmediainfodev/usr/lib/x86_64-linux-gnu
echo 'Note that libmediainfo.so -> libmediainfo.so.0.0.0  and there is no libmediainfo.so.0.0.0 '

I checked with both the link above, and a couple other FTP mirrors, none have the actual lib.

Work-around, the lib is properly packaged within:
https://packages.debian.org/buster/libmediainfo0v5

https://packages.debian.org [...]

We are not the maintainers of Debian package, the maintainer name and contact method is on the linked webpages you provided.
That said,

echo 'Note that libmediainfo.so -> libmediainfo.so.0.0.0  and there is no libmediainfo.so.0.0.0 '

"-dev" packages are not intended to have libmediainfo.so.0.0.0, and "only symbolic links were packaged" is the behavior I expect from Debian maintainers, as the lib file is in the non "-dev" package and "-dev package depends on non "-dev" package. "-dev" package is for extra (compared to non "-dev" package) files needed for development
so by unpacking manually this "-dev" package, you are supposed to have unpacked the non "-dev" package (and all dependencies) at the same place.
As you force dpkg to discard dependencies with " -x", check dependencies listed on the linked webpages and download/unpack them also manually.

Work-around,

Not a workaround, it is the expected location of the lib.


chore: bdd-nhwpa-1568885046 to 0.0.1

chore: Promote bdd-nhwpa-1568885046 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


add lora finetuning + example

Creates a starting README for LORA finetuning
Adds a general finetune.py that can be used with any model with optional 8-bit and DeeperSpeed support
Adds example notebook

Todo:

Create a table for VRAM requirements for finetuning each RPJ model in both float16 and int8.

@orangetin how to merge lora model to base model ?

@orangetin how to merge lora model to base model ?

@madroidmaq what do you mean by this? If you're talking about loading the lora model for inference, see this: https://github.com/togethercomputer/OpenChatKit/blob/main/training/lora/example/redpajama-incite-chat-3b_inference.py

@orangetin I am attempting to run the Redpajama-3b model on a mobile device, currently utilizing some logic from the MLC-LLM project, and it's working well so far.
However, I would like to fine-tune the model based on some of my private data. I have used LoRA for fine-tuning and have seen some results, which has been a smooth process up to this point.
The issue I am encountering is that I need to merge the LoRA model with the Redpajama-3b model. This is because the MLC-LLM project currently only supports loading a single model file. The inference logic in the current example works well on a PC, but it does not run on a mobile device. My proposed solution is to merge the two models. This approach is feasible in the Chinese-LLaMA-Alpaca project, which internally uses the merge_and_unload() function from the peft library. As a beginner in AI, I have attempted this part but have not been successful.
I would greatly appreciate it if you could provide support for the merge functionality. Thank you very much.

@madroidmaq See this comment for an example for merging the LoRA model with the base model: https://github.com/togethercomputer/OpenChatKit/issues/127#issuecomment-1584961110

@orangetin
Thank you very much, the model was merged correctly. I made the above code a PR #136 , other people with similar needs can use it directly.


Task - Filter collection objects - filter by repository retunrs no results

Pushed a minor change, but can't replicate.  You should be using repository, not current repository likely, try both.  First you populate repository (the ultimate home of the specimen), if you want to record where it currently is if not repo, then use current.


quiz_completed: result.duration undefined in jisc profile

To be added to quiz_completed.md#result
Also, not present in TSV. This may be correct, as duration may be a derived property. To be confirmed.

isnt this optional, ergo not a "bug"?
was the requirement for duration on quiz something which came up on a call? Durations are rather slippery concepts...

I put it as a bug, as the only mention of it was in an example - not actually in the spec; including not as optional/mandatory, and so on.

suggests to me the example is wrong, probably generated by code.
I content that examples are non-normative, illustrating the spec rather than defining it. We have previously got into trouble by allowing the spec to be defined by examples coming out of plugin/vle X.
In this case we could, I suppose, leave duration in there and note that it is emitted by some system or other, even tho not in jisc recipe, but this is OK as the principle of xAPI is to allow extra content.

I was insufficiently clear. It's in the TSV and JSON specs, but not in the quiz_completed.md (the main statement template specification).
I think we need to decide whether or not to put it as optional in the main spec, because inclusion in the translator suggests that it's either in use or expected to be in use.

A test for inclusion:

the data is available and useful in at least one major source system
we want people to spend the time and effort to a) extract/create the fact in source data and b) to write code to support the fact in downstream analytics/visualisation software

if (1) and (2):
include in main spec
else:
remove from example/tsv/json

From call: remove from all


feat: use Prometheus to track and expose operation and API request counts

This PR adds support for exposing metrics using Prometheus, which can be optionally disabled at runtime. The following metrics are exposed:

For operations:

Incoming HTTP request duration
Incoming HTTP request count (with status code)
Incoming HTTP request size
Outgoing HTTP response size

For upstreams:

Number of requests sent per host (with method and status code)
Duration of requests sent per host

Sample of the metrics:
# HELP wunderctl_api_transport_outgoing_http_request_duration Duration of outgoing HTTP requests sent to upstream APIs
# TYPE wunderctl_api_transport_outgoing_http_request_duration summary
wunderctl_api_transport_outgoing_http_request_duration_sum{host="countries.trevorblades.com",method="POST",statusCode="200"} 0.069460958
wunderctl_api_transport_outgoing_http_request_duration_count{host="countries.trevorblades.com",method="POST",statusCode="200"} 1
wunderctl_api_transport_outgoing_http_request_duration_sum{host="weather-api.wundergraph.com",method="POST",statusCode="200"} 2.718797791
wunderctl_api_transport_outgoing_http_request_duration_count{host="weather-api.wundergraph.com",method="POST",statusCode="200"} 1
# HELP wunderctl_api_transport_outgoing_http_requests_total Outgoing HTTP requests sent to upstream APIs
# TYPE wunderctl_api_transport_outgoing_http_requests_total counter
wunderctl_api_transport_outgoing_http_requests_total{host="countries.trevorblades.com",method="POST",statusCode="200"} 1
wunderctl_api_transport_outgoing_http_requests_total{host="weather-api.wundergraph.com",method="POST",statusCode="200"} 1
# HELP wunderctl_http_request_duration_seconds Duration of HTTP requests
# TYPE wunderctl_http_request_duration_seconds summary
wunderctl_http_request_duration_seconds_sum{operationName="CountryWeather",operationType="QUERY"} 2.78903725
wunderctl_http_request_duration_seconds_count{operationName="CountryWeather",operationType="QUERY"} 1
# HELP wunderctl_http_request_size_bytes Size of received HTTP requests
# TYPE wunderctl_http_request_size_bytes summary
wunderctl_http_request_size_bytes_sum{operationName="CountryWeather",operationType="QUERY"} 172
wunderctl_http_request_size_bytes_count{operationName="CountryWeather",operationType="QUERY"} 1
# HELP wunderctl_http_requests_total Total number of served HTTP requests
# TYPE wunderctl_http_requests_total counter
wunderctl_http_requests_total{operationName="CountryWeather",operationType="QUERY",statusCode="200"} 1
# HELP wunderctl_http_response_size_bytes Size of served HTTP responses
# TYPE wunderctl_http_response_size_bytes summary
wunderctl_http_response_size_bytes_sum{operationName="CountryWeather",operationType="QUERY"} 55
wunderctl_http_response_size_bytes_count{operationName="CountryWeather",operationType="QUERY"} 1

Motivation and Context
Exposing metrics with Prometheus allows better monitoring of WunderGraph nodes

Marketing Changelog
WunderGraph now supports exposing metrics about operations and upstreams using Prometheus, allowing you to monitor and understand your gateway and APIs better.

Checklist

[ ] run make test
[ ] PR title must follow conventional-commit-standard
[ ] tests and/or benchmarks are included
[ ] documentation is changed or added
[ ] commit message and code follows the Code of conduct

@StarpTech @ggeijteman-wg Thanks for the reviews! I've updated the PR addressing your feedback, PTAL.


Next page button in users/assignment view don't take into account search criteria

In the Users view and in the Assignment view, the next button don't take into account search criteria.
See the problem below (for the Users view):

hey llaske, was asking that I want to work on this issue.. but I am not familiar on how to set up the developer enviornment for this sugarizer server, can you help me a bit with this ? or am I missing something obvious here ?

@arian0zen just follow running instructions here and you will have a running environment

do I have to both sugarizer and sugarizer-server folder in the same directory ? what should be the heierarchy ?

Not in the same directory, side by side. Clone commands create a sugarizer and a sugarizer-server directory at the same level.

hey, I kinda got the set up ready, though sh generate-docker-compose.sh this command is not working for me, I am getting this error, (i am on windows 10)

why is this ?
though when I am using nodemon sugarizer.js I see the local host working on 8080.
So, I was asking should I stop worrying about why docker compose is not working in my setup and start working on the features ? or sh generate-docker-compose.sh this command is necessary ?

@arian0zen it look like you're not familiar with Linux and Shell command line.
It will be difficult for you to contribute without a basic understanding of it. I suggest you to first increase your skill on Linux before trying to play with docker and before starting your contributions.

Okkkkaay understoood

hey, I kinda got the set up ready, though sh generate-docker-compose.sh this command is not working for me, I am getting this error, (i am on windows 10)
why is this ? though when I am using nodemon sugarizer.js I see the local host working on 8080.
So, I was asking should I stop worrying about why docker compose is not working in my setup and start working on the features ? or sh generate-docker-compose.sh this command is necessary ?

do I have to install docker first like this ? is it necessary for development ?

sh command will not work on windows

Fixed in https://github.com/llaske/sugarizer-server/pull/407


chore: change links to reflect changes on queryapi

Do not merge yet

hi @roshaans , can I merge this PR now?


Method does not exist: math

Tried some new functions from polish today with some errors... Here I downloaded and added a test to your plugin (btw, please add jest as dev dep.)
  ● polished › 2. math

    SyntaxError: unknown: Method does not exist: math
    > 1 | import { math } from 'polished';
        |         ^
      2 |
      3 | let a = math('12px + 12px')

      44 |
      45 |             if (!value) {
    > 46 |               throw imported.buildCodeFrameError('Method does not exist: ' + importedName);
         |                              ^
      47 |             }

{
      title: "math",
      code: `
        import { math } from 'polished';

        let a = math('12px + 12px')
      `,
      output: `
        let a = '14px';
      `
    }

Related to: https://github.com/Corjen/gatsby-plugin-polished/issues/1

The issue seems to be that babel-plugin-polished is pegged to v1 of polished:
https://github.com/styled-components/babel-plugin-polished/blob/efa054826959d525c58222094a44625830900be8/package.json#L19-L21
That should be updated to v3 or maybe better set in peerDependencies

Look like someone already submitted a pr...
https://github.com/styled-components/babel-plugin-polished/pull/8

Hi, I'm having the same problem with fluidRange.
Weird though because some methods can be used and others break.
transparentize, opacify, darken for example are ok to import like:
import { transparentize, opacify, darken } from 'polished';
But when I try with fluidRange i get:
SyntaxError Method does not exist: fluidRange


Fix set user

2 small fixes for adding a user via ENVs:

fix error message
adds a test to ensure that duplicated users can not be added (requires a small fix to how plugins raise errors)

Looks like some failing tests need addressing here :)

Looks like some failing tests need addressing here :)

This is a tricky one - I am not able to reproduce this locally. Breaks in wired places too.

Fixed it! Well done :) good to go?

Fixed it! Well done :) good to go?

If the test ho through now yes. I ripped out the additional tests earlier. To isolate the problem.

@SchrodingersGat should run now - I removed the new test again. Only contains the fixed error message and debug messages to debug errors with plugin testing


more compatibility fixes

also some changes for Julia 0.4 backports
ref: https://github.com/JuliaLang/julia/pull/13357

Thanks for fixing. May want to use the newer-style travis to separate 0.4 from 0.5. And tag when you can, so PkgEval is clean.


Feat/appeal get endpoint

Create appeal get endpoint

Up, please kindly review so we can merge this @fatjan @AchmadQiz


Render markdown in admin panel as a preview

Can alternatively just allow admins to access challenges even before CTF starts which would do the same thing

Fixed by a743a6a.


I cannot find where is ART.xcodeproj file at all?

I have run npm i react-native-chart --save, but i cannot find the ART.xcodeproj,.....

i got it :)


median absolute deviation handling of nan

My issue is about median absolute deviation handling of nan
Reproducing code example:

from scipy.stats import median_absolute_deviation
import numpy as np

a = [22,3,4,np.nan]
b = [24,1,2,np.nan]
c = [23,5,4,1]

d = median_absolute_deviation([a,b,c], axis=0, scale=1, nan_policy="omit",
                              center=np.nanmedian)

print(d)

Error message:
expect MAD to be arrays of 4 element not a single scalar. Changing nan_policy to propagate does not help.
Scipy/Numpy/Python version information:
import sys, scipy, numpy; print(scipy.__version__, numpy.__version__, sys.version_info)

1.4.1 1.18.1 sys.version_info(major=3, minor=8, micro=3, releaselevel='final', serial=0)

Hi Kjell,
Can you check https://github.com/scipy/scipy/pull/12217
Solves your issue?
Sincerely,
-Lucas Roberts

On May 27, 2020, at 2:27 PM, Kjell Le<EMAIL_ADDRESS>wrote:

My issue is about median absolute deviation handling of nan
Reproducing code example:
from scipy.stats import median_absolute_deviation
import numpy as np
a = [22,3,4,np.nan]
b = [24,1,2,np.nan]
c = [23,5,4,1]
d = median_absolute_deviation([a,b,c], axis=0, scale=1, nan_policy="omit",
center=np.nanmedian)
print(d)
Error message:
expect MAD to be arrays of 4 element not a single scalar. Changing nan_policy to propagate does not help.
Scipy/Numpy/Python version information:
import sys, scipy, numpy; print(scipy.version, numpy.version, sys.version_info)
1.4.1 1.18.1 sys.version_info(major=3, minor=8, micro=3, releaselevel='final', serial=0)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

@rlucas7 pr works perfect as expected with omit flag.
tested with straight forward implementation:
def median_absolute_deviation(x, axis=-1):
    m = np.nanmedian(x, axis=axis, keepdims=True)
    return np.nanmedian(abs(x - m), axis=axis)

Just have to wait for the pr to get merged.

@lkjell, thanks for reporting the issue.  The changes in https://github.com/scipy/scipy/pull/12217 didn't make it into the 1.5.0 branch; we'll see if we can backport it in a release candidate.
With the change in https://github.com/scipy/scipy/pull/12217, your example is
In [3]: a = [22,3,4,np.nan]

In [4]: b = [24,1,2,np.nan]

In [5]: c = [23,5,4,1]

In [6]: median_abs_deviation([a, b, c], axis=0, nan_policy='omit')
Out[6]: array([1., 2., 0., 0.])

I just merged the fix into master, marking as closed.


Survey global CSS styings for web component

Try to figure out the following questions:

How to apply global CSS to the web components?
How to apply global / custom CSS for nested children?
Should we use the CSS variable or class selector for defining colors?

Quick Conclusion:

How to apply global CSS to the web components?
In the context of Shadow DOM, only parent context can take limited affect.
How to apply global / custom CSS for nested children?
In the context of Shadow DOM, only parent context can take limited affect.
Should we use the CSS variable or class selector for defining colors?
CSS Variable is the only way we can apply a theme for all the components.

Details If You Wonder
In the context of Shadow DOM that we are developing for all components, there's no CSS selector creeps in and out.
Note that the limitation is for CSS selector only, which means the global selector can never "select" any node inside of Shadow DOM.

However, parent context and CSS Variable can do the magic.
For example, the .text class selector in the following example can affect all the fonts and color of the elements defined in sample-component:
<html>
<head>
    <style>
        .text {
            font-size: 24px;
            font-weight: bold;
            color: green;
        }
    </style>
</head>
<body class="text">
   <sample-component></sample-component>
</body>
</html>

As for CSS Variable, we can leverage its concept of inheritance, which works in Shadow DOM too!

<head>
   <style>
       sample-component {
           --text-color: blue;                           1
       }
   </style>
   <script>
       class SampleComponent extends HTMLElement {
           connectedCallback() {
               this.attachShadow({mode: 'open'});
               this.shadowRoot.innerHTML = `<div class="inside-component">
                   My Component
               </div>
               <style>
                   .inside-component {
                       color: var(--text-color);         2
                       }
               </style>`
           }
       }

       if (!customElements.get('sample-component')) {
           customElements.define('sample-component', SampleComponent);
       }
   </script>
</head>
<body>
<sample-component></sample-component>
</body>

All the images & example above are referenced from Web Components in Action by Ben Farrell.


typo: add missing colon in README

Am I wrong?
I feel shocked that no one talk about this.
A MISSING COLON??

The README is correct, we want this to be an async function.

Sorry, I didn't get it.
handler: { async async(request, reply) {} }

or this ?
handler: { async: async(request, reply) {} }

The second example https://github.com/ide/hapi-async-handler#using-co do have a colon after word async:
Using co
You can also use co and generator functions without any source-code transformations:
server.route({
  method: 'GET',
  path: '/',
  handler: {
    // co.wrap creates a function that returns a promise, just like an async function
    async: co.wrap(function*(request, reply) {
      require('instapromise');
      var fileContents = yield fs.promise.readFile('example.txt', 'utf8');
      reply(fileContents);
    }),
  },
});

And also in the test:
https://github.com/ide/hapi-async-handler/blob/master/test/handler.js#L99
  function registerDefaultAsyncHandler(server, handler) {
    server.route({
      method: 'GET',
      path: '/',
      handler: {
        async: handler,
      },
      config: {
        timeout: {
          server: 1000,
        },
      },
    });
  }
});

Both are correct, I recommend reading up on JavaScript syntax up to ES2017 to clear up your confusion.

OK, thank you very much, I am checking that, sorry to bother.

OH!!!!!! I KNOW IT NOW!!!
handler: { async async(request, reply) {} }

is the same as
const async = async (request, reply) => {};
handler: { async }

and in handler: { async async(request, reply) {} }, the first async is as the keyword in async/await and the second one is treated as the key in handler.
What a Syntactic sugar!


Direct link to manager from Roster page

Is your feature request related to a problem? Please describe.
Clicking on Manager name on Roster page currently does not lead to that Manager's page.
Describe the solution you'd like
Not a big thing by any means, but would save a click to be able to click on Manager name or icon and go to their page directly. Would save a click. But just a small suggestion and nothing urgent at all.
Thanks!

Agreed! That's the next change coming out. Should have it up by Friday.


This tool is not work for me, I don't know why.

I opened this tool with administrator privilege, but it still shows that it is not injected when I enter the game.
And I have tried to wait for enough time, but it still doesn't work.
What should I do, could you please give me some advice?

Chinese server doesn't work TT, you can try others.

No one answered me, but is it normal that the 12.18 skins are not in the tool? I put a ticket to see if the developer takes it into account.


fixes bug 1166982 - Removed Events show on Calendar page.

@blossomica Hey
This PR will merge shortly. When it does, your PR is going to need to be updated. You can either do a rebase against latest master (without squashing) or you can simply just make the same change and you won't get a merge conflict.

@peterbe - All right, thanks for letting me know of that before hand, as I am still working on getting comfortable with merge conflicts so i'll use this for a 2nd practice.


descriptorpb has not been updated since protoc v3.16.0

The google.golang.org/protobuf/types/descriptorpb package has not been updated in 17 months.
In that time, several changes have been made to descriptor.proto:

March 22, 2021
February 1, 2022
June 21, 2022
July 8, 2022

Actually, those last two are still unreleased. But the latest protoc release, v21.5, does have the first two changes above. It would be nice to re-generate descriptorpb so latest of this repo matches latest release of protoc.

Fixed with https://go.googlesource.com/protobuf/+/692f4a24f8dc0d375508fc41e657920d411b5b68, thank you!


Struct return calling convention in calli transform

#2743 checked in two disabled tests for medium and big sized struct returns. We AV in the method body because of what looks like a calling convention mismatch. I didn't investigate too deeply because the generated code uses SIMD instructions and I never really learned those.

Let's keep this open until RyuJit is updated and the tests are enabled.


Rowan load projectNamed: should use the configuration that was used to load project

... for alpha it is probably fine to ignore the configuration unless the project is being loaded for the first time -- and we need to record the configuration used --- thereafter use the original configuration to do updates ... eventually the developer should be allowed to specify a new configuration ...

still wired to use Default and for Alpha that is fine ... no intention to provide a GUI for controlling the configuration either

Right now, this is true because Default is wired in ... it will take GUI changes to do much else ... so will call this fixed


Update Composer dependencies (2021-01-15-00-04)

Visual regression test passed!
View the visual regression test report

Visual regression test passed!
View the visual regression test report


Installation docs don't include how to edit the 'debug' prefix

Thanks for making a wonderful tool!
https://django-debug-toolbar.readthedocs.io/en/latest/installation.html

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + debug_toolbar_urls()

By default this uses the "__debug__" prefix for the paths, but you can use any prefix that doesn’t clash with your application’s URLs.

In older versions of the docs, eg v3.8, the example code included the url path literally:
urlpatterns = [
    # ...
    path('__debug__/', include('debug_toolbar.urls')),
]

Not sure what the correct way of doing changing the prefix is now, and the current text is a little confusing.

I don't disagree the current text is a bit confusing. We should probably remove it, but I'm not in favor of adjusting the install page to cover that case.
Specifically, you can look at the debug_toolbar_urls function definition to understand what you can replace it with.

Thanks, I'll close the issue


feat: Support Shoutrrr Generic Webhook

Is your feature request related to a problem? Please describe.
Shoutrrr supports arbitrary services via the Generic Webhook notifier.
Describe the solution you'd like
It would be great to expose this in Argus to support any possible notification service.
Describe alternatives you've considered
N/A
Additional context
I use a custom notifier and generally this works fine, but is not possible with Argus at the moment.

Figured out I can do it without explicit support via type: shoutrrr.
Would still be nice to have type: generic support IMO.


Notification page in admin panel broken in 0.18.1

Describe the bug
The notifocation settings page is not working anymore, returning a 500 server error.
To Reproduce
Steps to reproduce the behavior:

Go to Admin panel
Click on "Notifications"

Expected behavior
Page should work
Environment (please complete the following information):

OS: Docker
Architecture: AMD64
Browser: Chrome
Version 0.18.1

Screenshots
If applicable, add screenshots to help explain your problem.
Logs
If applicable, check the logs for any error that might of occurred.
Additional context
Add any other context about the problem here.

Tying this to #1226


fix(TransferProcessController): fix NPE on empty request

What this PR changes/adds
fix NPE when calling POST|/transferprocesses/request with without body
Why it does that
Fix the InternalServerError returned
Linked Issue(s)
Closes #3102

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

Comparison is base (ac0dadc) 64.45% compared to head (1ae6726) 64.46%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3103   +/-   ##
=======================================
  Coverage   64.45%   64.46%
=======================================
  Files         936      936
  Lines       19167    19174    +7
  Branches     1029     1030    +1
=======================================
+ Hits        12355    12361    +6
- Misses       6424     6425    +1
  Partials      388      388

Impacted Files
Coverage Δ

.../transferprocess/TransferProcessApiController.java
100.00% <100.00%> (ø)

... and 4 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Creating inventory

Hi! Thanks for cool api, that works fine.
But I still can't understand why can't I create inventory items using api?
I'm getting either
{'meta': {'description': 'Unparseable value or field: [item.categoryID.]', 'message': 'PARAMETER_MISSING_OR_INVALID', 'code': 400}}
OR
{"meta":{"description":"Unparseable value or field: []","message":"PARAMETER_MISSING_OR_INVALID","code":400}}
Here is my example of data and add inventory calling:
`           data =
{
"item": {
"no": "3437",
"type": "PART",
"categoryID": 417
},
"color_id": 5,
"quantity": 12,
"new_or_used": "U",
"unit_price": 1.2,
"bind_id": 0,
"description": "",
"remarks": "",
"bulk": 1,
"is_retain": False,
"is_stock_room": False,
"date_created": "2021-07-28T05:00:00.000Z",
"my_cost": 100,
"sale_rate": 1,
"tier_quantity1": 0,
"tier_price1": 0,
"tier_quantity2": 0,
"tier_price2": 0,
"tier_quantity3": 0,
"tier_price3": 0
}
x = bricklink_api.user_inventory.create_inventory(data, auth=auth)
print(x)`
Thanks in advance!

hey @alessss - maybe a little late on this one - to my knowledge your inventory items need to be complete - i use a preparation method to line all the details up https://github.com/vandlol/stenchef/blob/747fa1086a4a2020c14ef4249c3d05755ceeb590/stenchef/warehouse/bricklink_integration.py#L305
look at the official api docu to see what is actueally needed https://www.bricklink.com/v3/api.page?page=create-inventory
also: category is not needed to create an inventory item
hope this helps and you haven't lost hope :)


CCL and DCL Maximum 60A??

hey! Short question. Just got my system up and running but I can't get the CCL and DCL values to change. Remains at 60A No matter what I enter in the config. Do you have a hint for me? I'm running version 0.14.3. The following values are currently included under parameters: CVL = 57.92, CCL = 60.00A (although 150A is set in the config) DCL = 60.00A (although 200A is set in the config)

Did you check the FAQ in the Wiki?


Adding locale fix for turkey locale issue when lowercasing an "i"

using toLowerCase() without any locale makes it implicitly toLowerCase(Locale.getDefault()). This is fine in most counties but in Turkey, the default locale converts uppercase "I" to a dotless "i", which is not the same as the lowercase "i" in English. Passing Locale.ENGLISH (or Locale.US) in toLowerCase() solves this problem. I have made these changes to all the applicable places in the codebase.

@peterbae,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Codecov Report

Merging #384 into dev will increase coverage by 0.02%.
The diff coverage is 33.33%.

@@             Coverage Diff              @@
##                dev     #384      +/-   ##
============================================
+ Coverage     40.16%   40.18%   +0.02%
- Complexity     1892     1894       +2
============================================
  Files           107      107
  Lines         24482    24481       -1
  Branches       4038     4038
============================================
+ Hits           9833     9838       +5
+ Misses        12815    12800      -15
- Partials       1834     1843       +9

Flag
Coverage Δ
Complexity Δ

#JDBC41
40.07% <33.33%> (+0.02%)
1886 <0> (+3)
:arrow_up:

#JDBC42
40.02% <33.33%> (ø)
1886 <0> (+1)
:arrow_up:

Impacted Files
Coverage Δ
Complexity Δ

...om/microsoft/sqlserver/jdbc/SQLServerBulkCopy.java
49.35% <0%> (-0.15%)
212 <0> (+2)

...in/java/com/microsoft/sqlserver/jdbc/IOBuffer.java
45.14% <0%> (+0.22%)
0 <0> (ø)
:arrow_down:

...QLServerColumnEncryptionAzureKeyVaultProvider.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...c/main/java/com/microsoft/sqlserver/jdbc/Util.java
47.51% <100%> (ø)
63 <0> (ø)
:arrow_down:

.../microsoft/sqlserver/jdbc/SQLServerConnection.java
45.06% <66.66%> (ø)
267 <0> (ø)
:arrow_down:

src/main/java/microsoft/sql/DateTimeOffset.java
37.14% <0%> (-2.86%)
8% <0%> (-2%)

...om/microsoft/sqlserver/jdbc/ReaderInputStream.java
46.06% <0%> (-2.25%)
17% <0%> (ø)

...om/microsoft/sqlserver/jdbc/SimpleInputStream.java
47.4% <0%> (-1.49%)
9% <0%> (-1%)

...m/microsoft/sqlserver/jdbc/SQLServerStatement.java
59.06% <0%> (-0.31%)
129% <0%> (-1%)

...ncurrentlinkedhashmap/ConcurrentLinkedHashMap.java
42.2% <0%> (-0.22%)
46% <0%> (ø)

... and 5 more

Continue to review full report at Codecov.

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

@peterbae: Please ignore my 1st suggestion. From mobile I could not able to edit comments. Although 2nd suggestion is still valid.

Hi Nikhil, thanks for the suggestion. I think providing a wrapper function for toLowerCase() and adding more locale flexibility is a good idea, but currently we only want to explicitly use English as our locale to avoid case conversion problems, and I think this change solves that problem. I'll come back to that feature later when it becomes necessary.


qpwgraph: 0.7.4 -> 0.7.5

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/qpwgraph/versions.
meta.description for qpwgraph is: Qt graph manager for PipeWire, similar to QjackCtl
meta.homepage for qpwgraph is: https://gitlab.freedesktop.org/rncbc/qpwgraph
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.7.5 with grep in /nix/store/mlxq4a6pr46by791d9lg8nww2ig4dfcx-qpwgraph-0.7.5
found 0.7.5 in filename of file in /nix/store/mlxq4a6pr46by791d9lg8nww2ig4dfcx-qpwgraph-0.7.5

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

qpwgraph

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/mlxq4a6pr46by791d9lg8nww2ig4dfcx-qpwgraph-0.7.5 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A qpwgraph https://github.com/r-ryantm/nixpkgs/archive/2e440f5b87df886b6de1769b12cb51bcfa1accba.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/2e440f5b87df886b6de1769b12cb51bcfa1accba#qpwgraph

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/mlxq4a6pr46by791d9lg8nww2ig4dfcx-qpwgraph-0.7.5
ls -la /nix/store/mlxq4a6pr46by791d9lg8nww2ig4dfcx-qpwgraph-0.7.5/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

qpwgraph

Maintainer pings
cc @kanashimia @exi @Scrumplex for testing.

@NixOS/nixpkgs-merge-bot merge


Concurrent Writes leads to data loss in ArangoSearch/Views

My Environment

ArangoDB Version:        3.4.6 and 3.5.0-RC.7
Storage Engine:             RocksDB
Deployment Mode:       Single Server
Deployment Strategy:    ArangoDB Starter in Docker
Infrastructure:               own
Operating System:        MacOS 10.13.4
Total RAM in your machine:        32Gb
Disks in use:        SSD
Used Package:              Docker - official Docker library

While using the /_api/import endpoint and writing the same data concurrently to a collection, views linked to that collection eventually lose records.
3.5.0-RC.7 reproduced.
3.4.6 reproduced.
Steps to reproduce

Spin up Arango

docker run -dt --name arangodb346 -e ARANGO_NO_AUTH=1 -p 8529:8529 arangodb/arangodb:3.4.6

Create a Collection named docs on _system db
Create a View named docs_view on _system db and link to the docs Collection (setup i used below)

"links": {
  "docs": {
    "analyzers": [
      "identity"
    ],
    "fields": {},
    "includeAllFields": true,
    "storeValues": "id",
    "trackListPositions": false
  }
}

Wrote a javascript to reproduce the issue (requires node)
Create a package.json file

{
    "dependencies": {
        "async": "^3.1.0",
        "request": "^2.88.0",
        "uuid": "^3.3.2"
    }
}

Create a script.js file
const request = require("request");
const uuidv1 = require("uuid/v1");
const async = require("async");

let docs = [];
for (let i = 0; i < 100; i++) {
    let docId = uuidv1();
    docs.push({ _id: "docs/" + docId, _key: docId });
}

let requests = [];
for (let j = 0; j < 1000; j++) {
    let requestFunc = function(cb) {
        let options = {
            method: "POST",
            // url: "http://localhost:8529/_db/_system/_api/import?collection=docs&type=list&details=true",
            url: "http://localhost:8529/_db/_system/_api/import?collection=docs&type=list&details=true&onDuplicate=replace",
            body: docs,
            json: true
        };

        request(options, function (err, res, body) {
            console.log(j, new Date(), 'response code:', res.statusCode, 'created:', body.created, 'errors:', body.errors, 'empty:', body.empty, 'ignored:', body.ignored, 'updated:', body.updated);
            cb();
        });
    };

    requests.push(requestFunc);
}

const args = process.argv.slice(2);
if(args.length) {
    if("sequential" == args[0]) {
        async.waterfall(requests, function() {
            console.log("sequential done");
        });
    }

    if("parallel" == args[0]) {
        async.parallelLimit(requests, 10, function() {
            console.log("parallel done");
        });
    }
}

Perform a npm install

Execute the following command
node script.js parallel

Perform the following query

LET collectionCount = FIRST(FOR u IN docs COLLECT WITH COUNT INTO length RETURN length)
LET viewCount = LENGTH(FOR d IN docs_view RETURN d)
RETURN { collectionCount, viewCount, diff: (collectionCount - viewCount) }

Eventually the view gets out of sync with the collection. Repeat 5 and 6 if necessary.
Few notes

Dropping onDuplicate=replace from the request, becomes less frequent, but still happens (takes longer)
Using node script.js sequential, becomes less frequent, but still happens (takes longer)

Reproduced on the /_api/document/{collection} endpoint.

Following the same setup for Collection/View Above.
Create the following scripts as script-single.js

const request = require("request");
const uuidv1 = require("uuid/v1");
const async = require("async");

let docId = uuidv1();
let doc = { _id: "docs/" + docId, _key: docId };

let requests = [];
for (let j = 0; j < 1000; j++) {
    let requestFunc = function(cb) {
        let options = {
            method: "POST",
            url: "http://localhost:8529/_db/_system/_api/document/docs?overwrite=true",
            body: doc,
            json: true
        };

        request(options, function (err, res, body) {
            console.log(j, new Date(), 'response code:', res.statusCode);
            cb();
        });
    };

    requests.push(requestFunc);
}

const args = process.argv.slice(2);
if(args.length) {
    if("sequential" == args[0]) {
        async.waterfall(requests, function() {
            console.log("sequential done");
        });
    }

    if("parallel" == args[0]) {
        async.parallelLimit(requests, 10, function() {
            console.log("parallel done");
        });
    }
}

Execute the following command

for i in {1..5}; do (node script-script.js parallel &); done // to hammer it
or
node script-script.js parallel // less visible

Perform the following query

LET collectionCount = FIRST(FOR u IN docs COLLECT WITH COUNT INTO length RETURN length)
LET viewCount = LENGTH(FOR d IN docs_view RETURN d)
RETURN { collectionCount, viewCount, diff: (collectionCount - viewCount) }

Hi @aveiros,
Thanks for reporting this issue.
We have been able to reproduce the bug and are currently working on a fix.

Hi @aveiros and @davechallis,
Both versions 3.4.8 and 3.5.1, which include a fix for the data loss, have been released. In case you are still observing data loss in ArangoSearch Views, please comment and we will reopen this issue.
You can find the latest release in the download section.


reppoints_moment_r101_dcn_fpn_2x.pth seems not match reppoints_moment_r101_dcn_fpn_2x.py

Thanks for producing this great toolbox.
Describe the bug
I have tested the reppoints_moment_r101_dcn_fpn_2x.py with the model reppoints_moment_r101_dcn_fpn_2x.pth (https://github.com/open-mmlab/mmdetection/tree/master/configs/reppoints) on COCO Val2017, but found that the results (see below) do not match the reported 43.0 mAP.
reppoints_moment_r101_dcn_fpn_2x
Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.056
Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.095
Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.057
Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.012
Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.052
Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.122
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.109
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.161
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.164
Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.023
Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.119
Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.354
BTW, I have also run the reppoints_moment_r101_dcn_fpn_2x_mt and reppoints_moment_r101_fpn_2x, whose results match the reported ones.
reppoints_moment_r101_dcn_fpn_2x_mt
Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.447
Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.656
Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.487
Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.281
Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.495
Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.588
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.358
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.569
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.603
Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.423
Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.651
Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.759
reppoints_moment_r101_fpn_2x
Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.403
Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.610
Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.435
Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.232
Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.446
Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.524
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.334
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.537
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.570
Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.366
Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.614
Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.722
Reproduction

What command or script did you run?
python tools/test.py configs/reppoints/reppoints_moment_r101_dcn_fpn_2x.py checkpoints/reppoints_moment_r101_dcn_fpn_2x.pth --eval bbox

What dataset did you use?
MS COCO Val2017

Hi @hyz-xmaster,
Can you first check whether the keys are loaded closely? For example, the full log could benefit a lot.

Hi @ZwwWayne,
The log information is as follows:
loading annotations into memory...
Done (t=0.45s)
creating index...
index created!
The model and loaded state dict do not match exactly
missing keys in source state_dict: backbone.layer2.0.conv2.conv_offset.weight, backbone.layer2.0.conv2.conv_offset.bias, backbone.layer2.1.conv2.conv_offset.weight, backbone.layer2.1.conv2.conv_offset.bias, backbone.layer2.2.conv2.conv_offset.weight, backbone.layer2.2.conv2.conv_offset.bias, backbone.layer2.3.conv2.conv_offset.weight, backbone.layer2.3.conv2.conv_offset.bias, backbone.layer3.0.conv2.conv_offset.weight, backbone.layer3.0.conv2.conv_offset.bias, backbone.layer3.1.conv2.conv_offset.weight, backbone.layer3.1.conv2.conv_offset.bias, backbone.layer3.2.conv2.conv_offset.weight, backbone.layer3.2.conv2.conv_offset.bias, backbone.layer3.3.conv2.conv_offset.weight, backbone.layer3.3.conv2.conv_offset.bias, backbone.layer3.4.conv2.conv_offset.weight, backbone.layer3.4.conv2.conv_offset.bias, backbone.layer3.5.conv2.conv_offset.weight, backbone.layer3.5.conv2.conv_offset.bias, backbone.layer3.6.conv2.conv_offset.weight, backbone.layer3.6.conv2.conv_offset.bias, backbone.layer3.7.conv2.conv_offset.weight, backbone.layer3.7.conv2.conv_offset.bias, backbone.layer3.8.conv2.conv_offset.weight, backbone.layer3.8.conv2.conv_offset.bias, backbone.layer3.9.conv2.conv_offset.weight, backbone.layer3.9.conv2.conv_offset.bias, backbone.layer3.10.conv2.conv_offset.weight, backbone.layer3.10.conv2.conv_offset.bias, backbone.layer3.11.conv2.conv_offset.weight, backbone.layer3.11.conv2.conv_offset.bias, backbone.layer3.12.conv2.conv_offset.weight, backbone.layer3.12.conv2.conv_offset.bias, backbone.layer3.13.conv2.conv_offset.weight, backbone.layer3.13.conv2.conv_offset.bias, backbone.layer3.14.conv2.conv_offset.weight, backbone.layer3.14.conv2.conv_offset.bias, backbone.layer3.15.conv2.conv_offset.weight, backbone.layer3.15.conv2.conv_offset.bias, backbone.layer3.16.conv2.conv_offset.weight, backbone.layer3.16.conv2.conv_offset.bias, backbone.layer3.17.conv2.conv_offset.weight, backbone.layer3.17.conv2.conv_offset.bias, backbone.layer3.18.conv2.conv_offset.weight, backbone.layer3.18.conv2.conv_offset.bias, backbone.layer3.19.conv2.conv_offset.weight, backbone.layer3.19.conv2.conv_offset.bias, backbone.layer3.20.conv2.conv_offset.weight, backbone.layer3.20.conv2.conv_offset.bias, backbone.layer3.21.conv2.conv_offset.weight, backbone.layer3.21.conv2.conv_offset.bias, backbone.layer3.22.conv2.conv_offset.weight, backbone.layer3.22.conv2.conv_offset.bias, backbone.layer4.0.conv2.conv_offset.weight, backbone.layer4.0.conv2.conv_offset.bias, backbone.layer4.1.conv2.conv_offset.weight, backbone.layer4.1.conv2.conv_offset.bias, backbone.layer4.2.conv2.conv_offset.weight, backbone.layer4.2.conv2.conv_offset.bias
[>>>>>>>>>>>>>>>>>>>>>>>>>>] 5000/5000, 11.6 task/s, elapsed: 432s, ETA:     0s
writing results to ./work_dirs/reppoints_moment_r101_dcn_fpn_2x/results.pkl
Evaluating bbox...
Loading and preparing results...
DONE (t=1.82s)
creating index...
index created!
Running per image evaluation...
Evaluate annotation type bbox
DONE (t=31.65s).
Accumulating evaluation results...
DONE (t=9.36s).
Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.064
Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.106
Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.064
Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.012
Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.058
Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.137
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.117
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.171
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.174
Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.025
Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.129
Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.372
I think the cause might be that the parameter names of the DCN conv_offset layer in the trained model do not match their counterparts in the resnet.py which are actually with the prefix of  conv2_offset.
One interesting thing is that the mAP score is mysteriously improved from 0.056 to 0.064.

Hi @hyz-xmaster ,
What is your version of mmdetection, you might need to upgrade your mmdetection.

Well, I just upgraded mmdetection 2 days ago, so I think it is the latest one.
The version:
GENERATED VERSION FILE
TIME: Thu Apr  2 18:18:28 2020
version = '1.1.0+d5b1dfa'
short_version = '1.1.0'
Please see Line 484 https://github.com/open-mmlab/mmdetection/blob/16a2a2272ac6341bbdaef736fc1710b8f654d002/mmdet/models/backbones/resnet.py#L484 in resnet.py. It's conv2_offset.
I can actually get correct results for reppoints_moment_r101_dcn_fpn_2x_mt. Can you download the model weights file of reppoints_moment_r101_dcn_fpn_2x.py and run it to see the performance ?

Due to PR https://github.com/open-mmlab/mmdetection/pull/1894, the DCN works as a conv layer in present, and the offset of DCN should has the key name conv_offset as indicated here.
The bug report is missing keys of XXX.conv_offset.XXX, which means the keys in the checkpoint should have the name XXX.conv_offset.XXX but they do not.
The conv2_offset in the resnet.py is a bug. PR https://github.com/open-mmlab/mmdetection/pull/1894 did not check the initialization after refactoring the conv layers, we will fix it later.
The bug seems to lie in the model checkpoint because if you use eppoints_moment_r101_fpn_2x.py to load it, the keys exactly match, we will try to find out the reason and fix it.

Yes, I agree that the bug is probably in the checkpoint and thanks for your work.

The is a naming bug in the reppoints checkpoints. This bug have been fixed after we migrated to MMDet V2.0 model zoo. So the issue will be closed. Feel free if you have any further questions.


Added the doc guideline

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
Added the doc guideline
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
Closes https://github.com/TesseractCoding/NeoAlgo-Docs/issues/3

@HarshCasper I have added a basic doc guideline as of now. Please check and tell me if I need to add anything else

Hey, @SAY-droid427, I have created a rough sketch for the article layout.
You can check it here - Repository
A mixed work of both of us can yield a beautiful guideline.
Do take a look :)

@TidbitsJS I have something like this in mind. I am waiting for @HarshCasper 's next instructions, so that I can start working on that. As I have mentioned it is just a basic guideline doc and contains the basic instructions only as of now. In my later pull requests, I will specify the article layouts as well.

@HarshCasper  I have made the changes you had asked. Could you please review it ?

@HarshCasper Please review this PR


Does it support Mongoid ?

I don't think there's anything that would prevent you from using Mongoid.
Although you might need to configure the following differently in the initializer:
self.current_user_from_handle = -> handle { User.find_by! Knock.handle_attr => handle }
self.current_user_from_token = -> claims { User.find claims['sub'] }

At the moment, it's also a requirement for these lambdas to raise an ActiveRecord::RecordNotFound exception when the user can't be found. Admittedly this shouldn't be the case and I plan to remove this.
If you end up using knock with mongoid, it would be great if you could let me know how you go and update this issue with your solution! 👍

Will do, thanks @nsarno

@nsarno We're using knock with mongoid. It still does raising ActiveRecord::RecordNotFound, i worked it around by overriding authenticate private method in Knock::AuthTokenController and raise a custom exception.
eg.
  def authenticate
    unless entity.present? && entity.authenticate(auth_params[:password])
      raise ExceptionHandler::InvalidPassword, "Invalid password"
    end
  end

@michaelunltd
I just read it and have idea to make it configurable but it already done
if you check last line of default knock initializer you will see this:

And set Mongoid::Errors::DocumentNotFound
Knock.setup do |config|
  ...
  config.not_found_exception_class_name = 'Mongoid::Errors::DocumentNotFound'
  ...
end


Closures in FieldInfo make it impossible to send some message representations to isolates

I got the following error message when I tried to send a protobuf message to an isolate:
Unhandled exception:
Invalid argument(s): Illegal argument in isolate message : (object is a closure - Function '<anonymous closure>':.)
#0      _SendPortImpl._sendInternal (dart:isolate/runtime/libisolate_patch.dart:218:70)
#1      _SendPortImpl.send (dart:isolate/runtime/libisolate_patch.dart:202:5)
#2      sendReceive (file:///Users/tim/Desktop/DART/messages/bin/printer.dart:40:8)
#3      main (file:///Users/tim/Desktop/DART/messages/bin/printer.dart:54:3)
<asynchronous suspension>
#4      _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:287:32)
#5      _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)

This surprised me because I had previously been able to send other message representations. Looking more closely, I found that the error only occurred for my messages with repeated fields, and looking into the representation of FieldInfo I think I see why: because this field and the ones following it store functions for various special cases, including repeated fields.
Here is my test program:
import 'dart:async';
import 'dart:isolate';

import 'package:printer/src/generated/sample.pb.dart';

// Runs in a separate thread.
void printer(SendPort listener) async {
  // create receive port and send it to the listener
  var receivePort = new ReceivePort();
  listener.send(receivePort.sendPort);

  // listen on receive port for things to print
  await for (var msg in receivePort) {
    print('>> [${msg[0]}] (${msg[0].runtimeType})');
	var replyPort = msg[1];
	replyPort.send(null);
  }
}

/// sends a message on a port,
/// receives the response,
/// and returns a future for the message that was received
Future sendReceive(SendPort port, msg) {
  var response = new ReceivePort();
  port.send([msg, response.sendPort]);
  return response.first;
}

main(List<String> args) async {
  // Start the printer and wait for it to reply with its SendPort.
  var receivePort = new ReceivePort();
  Isolate.spawn(printer, receivePort.sendPort);
  var  p = await receivePort.first;

  // Send some things
  sendReceive(p, 123);
  sendReceive(p, "hello");
  sendReceive(p, Kiosk());
  sendReceive(p, SetSignIdForKioskIdsRequest());
}

My protos are in sample.proto:
syntax = "proto3";

package sample;

// Describes a hardware device that can display signs.
message Kiosk {
  int32 id = 1;                       // unique id
  string name = 2;                    // name of device hardware
  ScreenSize size = 3;                // screen size
}

// Represents the size of a screen in pixels.
message ScreenSize {
  int32 width = 1;                    // screen width
  int32 height = 2;                   // screen height
}

message SetSignIdForKioskIdsRequest {
  repeated int32 kiosk_ids = 1;
  int32 sign_id = 2;
}

When I remove the repeated keyword from the kiosks_ids field in my proto, my test program runs successfully:
dart bin/printer.dart
>> [123] (int)
>> [hello] (String)
>> [] (Kiosk)
>> [] (SetSignIdForKioskIdsRequest)

I'm new to Dart, so I'm not sure that sending structs into isolates is a good practice (due to possible efficiency problems), but it seems bad for this to work for some protobuf messages and not others.

cc @szakarias

We are working on removing these closures from the messages.
https://github.com/dart-lang/protobuf/pull/198 will get rid of the first

That was not entirely true. The closure is still there in the makeDefault.
We have just been discussing this with @mkustermann and it seems we can work around the closure by replacing it with a single-method object...

It's stopping me from using protocol buffers with Flutter.

It's stopping me from using protocol buffers with Flutter.

If you're using isolates: A stop-gap for this would be to serialize to bytes before sending and deserialize on the receiving side.

If you're using isolates: A stop-gap for this would be to serialize to bytes before sending and deserialize on the receiving side.

That doesn't help though if you use isolates to avoid ui hick-ups when parsing :)

If you're using isolates: A stop-gap for this would be to serialize to bytes before sending and deserialize on the receiving side.

That's is a considerable disadvantage. If serialization or deserialization costs more than 16ms, there is no way to avoid UI-freezes.

Came here for same reason... :(

We are working on removing these closures from the messages.
#198 will get rid of the first

Hey @sigurdm Is there any updates on this? it's still not working with isolates or compute() function.

I'll try to take a stab at this with https://github.com/dart-lang/protobuf/pull/450

@mkustermann, I think this can be closed?

@mkustermann, I think this can be closed?

@mit-mit This hasn't been published yet - not even as a dev release.

@mit-mit This hasn't been published yet - not even as a dev release.

Ah, got it, thanks!

Ah, got it, thanks!

any news?
thanks

The changes I made are included in the null_safety branch on the git repository (see https://github.com/dart-lang/protobuf/tree/null_safety)
It appears like package:protobuf version 2.0.0 as well as package:protoc_plugin version 20.0.0 were published earlier this year from this branch and should therefore contain all of those changes.
@peterweb2005 Have you tried using those versions?

Sorry, will late home today,
so no verified.
I recall that this year flutter & dart had big update,
in order to fix the lint warning from Android studio
so I generate the protobuf dart data file again (use newest binary, windows),
and seems fixed the lint
Then few days ago, from now,, I just tried to migrate that parse process to compute,
but not work,
saw the error, and saw the data file had closure

We have a test checked into the protobuf repository that tests sending protos via SendPorts (see protoc_plugin/test/send_protos_via_sendports_test.dart)
@peterweb2005  If it doesn't work for you, could I ask you to make a small reproduction, so we can investigate?

Used the latest libaries:
Package protoc_plugin is currently active at version 20.0.0
protoc-3.17.3-win64.zip
and generated dart data file has no change, ie: has "closure"

We have a test checked into the protobuf repository that tests sending protos via SendPorts (see protoc_plugin/test/send_protos_via_sendports_test.dart)
@peterweb2005 If it doesn't work for you, could I ask you to make a small reproduction, so we can investigate?

D:\peter\w_dart\protobuf\protoc_plugin>dart test/send_protos_via_sendports_test.dart
00:00 +0: Normal proto can be transferred via ports
00:00 +1: Map-using proto can be transferred via ports
00:00 +2: All tests passed

may because diff branches

It appears like package:protobuf version 2.0.0 as well as package:protoc_plugin version 20.0.0 were published earlier this year from this branch and should therefore contain all of those changes.

This issue was fixed with #450 and the changes were released with protobuf-2.0.0 and protoc_plugin-20.0.0.


Removed "Columns" property from Template should be brought back..

Is your feature request related to a problem? Please describe.
Earlier before version 4 we used to have columns in template which was a array of keys of field names in the sequence which was showing the z-axis-order of fields . i.e which is below or above with respect to other fields lying in same region.
But now in version 4 we have remove this so there is no way of knowing this exact sequence of field along z-axis. We can do Object.keys on schams but in javascript key order is not ensured and is difficult to maintain when we do some operations on template .. so we need this back or atleas @hand-dot please provide alternative but reliable solution for this
Describe the solution you'd like
Column property should come back ot we should convert page wise schema object  to page wise schema array so array will always ensure correct order of fields.
Describe alternatives you've considered
Mentioned in description
Additional context
This is useful in one of the project i am working on in which i have to adjust the text colors in actually rendered pdf on the basis of its contrast with background so it becomes important to know what widget / field is behind the text to know the actual background color of text based.. and then by knowing it ... calculating contrast of text color and background widget bg color becomes easy

Since ECMAScript 2015 (ES6), it's not an issue.

Since ECMAScript 2015 (ES6), it's not an issue.

@hand-dot Actually i am trying to say when we try to modify or process templete before goes to generator. It breaks the sequence of fields and its not that possible to maintain the object correctly while modifying it
I was modifying it for table dynamic stuff and other theme related changes

The order is reflected in methods such as Object.keys(), Object.values(), Object.entries(), and for...in loops.
This translation accurately conveys the original Japanese statement, which explains that the order of object keys is maintained when using these specific JavaScript methods and loop constructs.

The order is reflected in methods such as Object.keys(), Object.values(), Object.entries(), and for...in loops.

Ok so i will just store that order on my side before any modification thanks.. :+1:


ZIndexBehavior Global Support

Currently this module only works correctly when ZIndexBehavior is set to "Sibling" on the top level ScreenGui. When set to "Global", the labels are hidden behind the graph itself.
ZIndexes should be changed for the label text so the labels are not behind the graph when ZIndexBehavior is set to Global.
Thanks!

Good catch. I need to redo all the ZIndexes to support global, and ensure that they are relative to the Frame so they don't accidentally get entirely hidden by the Frame itself.

Fixed in this commit:
https://github.com/boatbomber/GraphModule/commit/2971e258b0ac906b4ca12619a5538aa9273a98ad


Service Principal Names link is broken

"Service Principal Names" link under "Prerequisites" is going to a 404

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

ID: 975ec66c-8a50-6933-cfe4-0b16697e6450
Version Independent ID: 975ec66c-8a50-6933-cfe4-0b16697e6450
Content: Kerberos-based single sign-on (SSO) in Microsoft Entra ID with Application Proxy - Microsoft Entra ID
Content Source: docs/identity/app-proxy/how-to-configure-sso-with-kcd.md
Service: active-directory
Sub-service: app-proxy
GitHub Login: @kenwith
Microsoft Alias: kenwith

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

Thanks for the catch. Updated link and it should be live shortly. #please-close


Feature/DeleteDebtCommandParser

It is troublesome to type prefix debt/ before every specified debt
index.
Let's change the format to allow debt/ index_1 index_2 index _3.

LGTM


⚠ Bofrost.lu has degraded performance

In 5293589, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 845 ms

Resolved: Bofrost.lu performance has improved in a0b9c87 after 6 minutes.


Make some telemetry fields 'persistent'

Currently the per-sonde info area is updated packet-by-packet. This means that if only some stations are uploading a particular field of interest (e.g. the new rs41_mainboard data), then it might only appear briefly, then get wiped out when another station uploads a packet without that data.
Suggest having a list of persistent variables, which get updated, but don't get removed.

Yes, the receiving stations section is very difficult to read. Its continuous movement due to the updating of telemetry makes reading very complicated.

Some thoughts on this.

Instead of just updating the vehicle data block and re-generating the vehicle info from that, maintain a separate 'latest_data' store, which is updated based on new data. For each field, include an 'ageout' value, initially set to something like 100. With every update, if the data hasnt been updated, decrement the ageout value. Once it reaches 0, remove it.
Consider having data fields which havent been updated recently (based on the ageout value), be shown in a different shade, perhaps grey. This will hopefully distinguish current and old data.

it would be a good thing to do. In this way the list of receivers would be updated with a more logical system. To make the list of receivers static and no longer in continuous movement caused by different telemetry data, space could be created by deleting unimportant telemetry data such as the sonde manufacturer parameter.

Notes to self...

the field data to be displayed is in the .data variable within each position.
To get the intended behaviour, we will need to maintain a separate store, which we add fields to, and just update fields that already exist. We also need a separate store with the ages of each field.
The data is formatted into the table shown on the screen in the habitat_data function

Some changes getting rolled out into testing.

Data fields are now persistent, and get updated if the incoming data is newer than the old data for that field.
If a data field is older than 20 seconds from the current latest data, then the field name (under the field value) is appended with (XXs old). Need to think more about how this should be represented.

Unsure if my current source for the 'current' time is good enough - Need to see how this handles out-of-order packet arrivals.

Testing tracker is here: https://testing.v2.sondehub.org/

I think this is better! Great job! Thank You

@darksidelemm any more needed on this?


Add future and past date hypothesis strategies

Change Summary

The Hypothesis plugin couldn't generate FutureDate and/or PastDate fields initially. So I tweaked the plugin to support those fields too.
Related issue number

Checklist

[x] Unit tests for the changes exist
[x] Tests pass on CI and coverage remains at 100%
[ ] Documentation reflects the changes where applicable
[x] changes/<pull request or issue id>-<github username>.md file added describing change
(see changes/README.md for details)
[x] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

Selected Reviewer: @hramezani

please review

Added the changelog. Should be good to go now!

please review

Thanks @bschoenmaeckers


Some minor fixes

Hi!
I was looking for an easy way to run a telegram bot on my esp32 and I came across your library. It helped me a lot to quickly set up and get the bot running so thanks a lot for publishing this!
While playing with my bot I ran into some bugs that could be traced back to this library, and since more people might source this repo, I decided it might be nice to include their fixes here :)
Changes:

Bot stops processing messages if one of the messages is not a text message
When fetching messages, one is fetched at a time and only if it contains text it is queued for reading. If the bot receives a message that does not contain text, it doesn't read it and hence the message offset counter is not increased. This leads to the bot not being able to process any messages after being sent a non-text containing message.
Fix: queue all messages for processing, read only the text ones, but increment the message offset counter regardless of the message type (7b01e0f)

 Can't allocate memory
The bot would sometimes crash when sending messages. Turns out that the urequests connection to the telegram servers stays active if it's not properly closed, which causes the esp to run out of memory. Oddly enough this error doesn't occur when fetching new messages though.
Fix: close the connection after sending a message (f55a8bf)

 Bot 'seemingly' freezing with a poor WiFi connection
Might be the most irrelevant of the bugs, but apparently my ESP's wifi connection is quite poor sometimes, causing an exception when fetching new messages. Leading to the bot seemingly freezing.
Fix: Instead of just ignoring this exception and having the bot seemingly freeze, just print to the terminal that the request timed out so that I know it's the WiFi that's at fault (6f71027)

Since this repo wasn't updated the past few months I'm not sure whether you're still using it. Feel free to do whatever you want with all this. I thought sharing it might avoid other people from running into the same issues as me, as your project is the first hit for me to pop up when searching online for "microPython ESP Telegram bot".
Cheers!

Hi,
Thanks for you contribution, I haven't written any code lately since I was working on other projects but I'd like to keep it active. I'll take a look
Thanks!


Auto renaming when copying & pasting in the same directory

Is your feature request related to a problem?
I use copy & paste when I duplicate files, but Files always ask me whether rename or not.
Describe the solution
I'd like to Files to auto rename when I copy & paste in the same directory.
Describe alternatives you've considered
N/A
Additional comment
N/A

Merging with #3900


AttributeError: 'AoiModel' object has no attribute 'FILE'

Future sepal_ui release version will use pygaul library to handle aoi files. This has a conflict with _check_lmic(self, _) method.

File ~/1_modules/se.plan/component/tile/custom_aoi_tile.py:56, in AoiTile._check_lmic(self, _)
     53 code = self.view.model.admin
     55 # get the country code out of the admin one (that can be level 1 or 2)
---> 56 df = pd.read_parquet(self.view.model.FILE[1]).astype(str)
     57 level_0_code = df[
     58     (df.ADM0_CODE == code) | (df.ADM1_CODE == code) | (df.ADM2_CODE == code)
     59 ].ADM0_CODE.iloc[0]
     61 # read the country file

ed05bec8f1415da61384513514a36b365cb22e33


Advanced mode empty using Grunt

Grunt use and compilation_level advanced. But output.js empty. compilation_level simple use output.js compiler.

Are you exporting things correctly? See https://developers.google.com/closure/compiler/docs/api-tutorial3#removal for more information.


restore is not the inverse of dump

EdgeDB Version: Docker image: edgedb/edgedb:1-beta1
OS Version:

Steps to Reproduce:

edgedb dump backup --all --format=dir
edgedb restore -v --allow-non-empty --all backup

Result:
edgedb error: error applying init file "backup/init.edgeql": failed statement "# DESCRIBE ROLES\nCREATE SUPERUSER ROLE `myuser` { SET password_hash := \'SCRAM-SHA-256$4096:xxxxxxxxxxx=\'};": ERROR: SchemaError: role 'myuser' is already present in the schema

I would expect that if I put --allow-non-empty, especially with --all, I would be allowed to do such a thing.
Is it as intended?
I feel like there should be a way to cleanly "start fresh from a full backup".

By the way, if I do:
$> edgedb drop-role myuser
$> edgedb restore -v --allow-non-empty --all backup
edgedb error: ERROR: AuthenticationError: authentication failed

Hmmm.... maybe I would need to use the edgedb role for that, instead? Not sure how to do it...

Is it as intended?

Generally yes.  Unlike Postgres, EdgeDB will not let you restore schema objects that already exist in the target database or instance.

Hmmm.... maybe I would need to use the edgedb role for that, instead? Not sure how to do it...

The edgedb role is the default, so you can either omit -e EDGEDB_USER or specify -e EDGEDB_USER=edgedb explicitly when starting up a fresh server in a container.
That said, it seems we need to consider emitting ROLE objects with IF NOT EXISTS in dumps.

yes, agreed with the last statement :-).
In my dump scripts, I'll try to amend the file to put IF NOT EXISTS in the meantime.

Erm... there's no IF NOT EXISTS statement to the role creation, is there?
https://www.edgedb.com/docs/edgeql/admin/roles#create-role

After commenting out the CREATE SUPERUSER ROLE, I still have an error message
edgedb error: restoring database "edgedb": Error initiating restore protocol: ERROR: SchemaDefinitionError: specified migration parent is not the most recent migration, expected 'm14zgmivx7oosifsy4oht376mmbmlb3bhwue5dbj7xj464uwqogjvq'

What would you advise?

What would you advise?

Use the edgedb role.

With the edgedb role.
edgedb error: ERROR: AuthenticationError: invalid SCRAM verifier for user 'edgedb'

You need to use edgedb when you are starting the server container on a fresh data volume for the first time to initialize it with the supplied password.  Switching the role afterwards does not reset its password.

Not sure when I can do that.
Because my docker-compose will start both services and will create everything.
Maybe I misunderstand something, but as of now, dump/restore doesn't seem usable, does it?
I haven't managed to make it work, so far.
I was expecting something like pg_dump. https://www.postgresql.org/docs/13/app-pgdump.html
pg_dump -Fc > filename and pg_restore filename
I think I'm gonna try a different strategy:
Backup:

stop the server
tar.gz the Filesystem, storing it on host.
start the server

Restore:

stop the server
mount a volume with the tar.gz, extract the tar.gz
start the server

Maybe I misunderstand something, but as of now, dump/restore doesn't seem usable, does it?

The issue is that you are using a custom ROLE instead of the default (edgedb).  When you start a docker container for the first time on an empty data volume, it configures the authentication for that data volume (with values from EDGEDB_USER and EDGEDB_PASSWORD).  If you've used a non-default role, and then attempted to restore a full backup it'd crash with the "role already present" error.
(we'll make a change to teach the dump to be tolerant of overlapping roles in beta 2)
The solution for your issue is as follows:

Make a dump from the original data volume
Stop the server.
Make a new, empty directory for the data volume.
Remove EDGEDB_USER from your docker-compose.yml.
Start the container.
Restore the dump.

Alternatively, don't use --all and restore databases one by one.

@Mulugruntz, can you share your docker-compose.yml please?  Also, did you try the steps I outlined above?

I tried to do what you advised me (and some other stuff as well).
But I wasn't sure about steps 3 & 4...
And to script the dump/restore, without destroying the whole environment, from my understanding, that doesn't seem practical?
docker-compose.yml

version: '3'
services:
  tempbot:
    container_name: tempbot
    build: .
    ports:
      - "4242:8000" # The webserver
    volumes:
    - ./logs:/var/log
    links:
    - edgedb
    depends_on:
    - edgedb
  edgedb:
    container_name: edgedb
    image: edgedb/edgedb:1-beta1
    environment:
      - EDGEDB_USER=user
      - EDGEDB_PASSWORD=password
#      - EDGEDB_DEBUG_PGSERVER=1
    ports:
    - "5656:5656" # EdgeQL over binary protocol
    - "8889:8889" # EdgeQL over HTTP
    - "8888:8888" # GraphQL over HTTP
    volumes:
    - edgedb-db:/var/lib/edgedb/data
volumes:
  edgedb-db: {}

But I wasn't sure about steps 3 & 4...

Hm, maybe I'm not explaining it right.  Here, in terms of the steps you outlined above:

So, when I try:

Create a clean DB with docker-compose up (includes initial migration)
Populate the db a bit.
 Remove EDGEDB_USER from docker-compose.

Create a clean DB with docker-compose up (includes initial migration)
Run restore_db.sh
docker exec -i edgedb edgedb -c "select count(ImportedFile);" -> {0}

backup_db.sh should run edgedb dump --all and restore_db.sh should run edgedb restore --all

(includes initial migration)

Oh, and please don't run the migration before restoring from dump, otherwise you'll run into "already exists" errors on other schema objects.

Okay, I'm gonna try all that.
Could I suggest a new --wipe-clean or --force (or another name) for edgedb restore?
This would make the whole think so much more usable.
Therefore, just a edgedb -u edgedb restore --wipe-clean would make it work all the time (or any other one-liner that would guarantee it). If the EdgeDB team would see value in that, we could open a new ticket.

Still no luck.
backup_db.sh

#!/usr/bin/env bash

# exit on error
set -e

get_abs_filename() {
  # $1 : relative filename
  python -c "from pathlib import Path;print(f'''{Path('$1').resolve()}''')"
}

this_dir=$(get_abs_filename ${0%/*})
spinner="$this_dir/spinner.sh"

DOCKER_CNAME=edgedb

TS=$(date -u +%Y%m%d_%H%M%S%Z)
BACKUP_FILENAME="backup_${TS}.edgedb.dump.tar.gz"
BACKUP_FILEPATTERN="backup_*.edgedb.dump.tar.gz"

BACKUP_LOCAL_DIR=$(get_abs_filename "$this_dir/../backup")
mkdir -p "$BACKUP_LOCAL_DIR"

REMOTE_DATADIR=$(docker exec -it "$DOCKER_CNAME" /usr/bin/env bash -c 'echo $EDGEDB_DATADIR')
REMOTE_DATADIR="${REMOTE_DATADIR//[$'\t\r\n ']}"
REMOTE_BACKUP_MOUNT="/backup"

echo "Creating the dump..."
$spinner docker exec edgedb edgedb dump backup --all --format=dir

echo "Compressing the dump..."
$spinner docker exec edgedb tar -czvf "$BACKUP_FILENAME" backup

echo "Copying the dump file to the host machine..."
$spinner docker cp "edgedb:$BACKUP_FILENAME" "$BACKUP_LOCAL_DIR/"

echo "Cleanup..."
$spinner docker exec edgedb rm -rf backup "$BACKUP_FILENAME"

echo "Done!"

BACKUP_FILELIST=$(get_abs_filename "$BACKUP_LOCAL_DIR/$BACKUP_FILEPATTERN")
echo "Created dump file $BACKUP_FILENAME"
ls -lah $BACKUP_FILELIST

restore_db.sh

#!/usr/bin/env bash

# exit on error
set -e

if [ -z "$1" ]; then
  echo "No backup file provided."
  exit 1
fi

get_abs_filename() {
  # $1 : relative filename
  python -c "from pathlib import Path;print(f'''{Path('$1').resolve()}''')"
}

DOCKER_CNAME=edgedb
EDGE_VOLUME=$(docker inspect -f '{{ (index .Mounts 0).Name }}' "$DOCKER_CNAME")

function shutdown() {
  echo "Starting the database..."
  $spinner docker container start "$DOCKER_CNAME"
}
trap shutdown EXIT

this_dir=$(get_abs_filename ${0%/*})
root_dir=$(get_abs_filename "$this_dir/../..")
spinner="$this_dir/spinner.sh"

BACKUP_FILEPATH=$(get_abs_filename "$1")
BACKUP_FILENAME=$(basename "$BACKUP_FILEPATH")
BACKUP_DIRNAME=$(dirname "$BACKUP_FILEPATH")

REMOTE_DATADIR=$(docker exec -it "$DOCKER_CNAME" /usr/bin/env bash -c 'echo $EDGEDB_DATADIR')
REMOTE_DATADIR="${REMOTE_DATADIR//[$'\t\r\n ']}"
REMOTE_BACKUP_MOUNT="/backup"

echo "Stopping the database..."
$spinner docker container stop "$DOCKER_CNAME"
echo "Removing the database..."
$spinner docker container rm "$DOCKER_CNAME"
echo "Removing the volume..."
docker volume rm "$EDGE_VOLUME"

echo "Creating a new container with edgedb role..."
docker-compose -f "$root_dir/docker-compose.yml" --env-file "$this_dir/.env.restore" up -d --no-deps --force-recreate --build "$DOCKER_CNAME"

echo "Restoring the dump..."
$spinner docker exec edgedb mkdir -p "$REMOTE_BACKUP_MOUNT/backup"
echo "   Copying the dump file to the container..."
$spinner docker cp "$BACKUP_FILEPATH" "edgedb:$REMOTE_BACKUP_MOUNT/$BACKUP_FILENAME"
echo "   Extracting the dump..."
$spinner docker exec edgedb tar -C "$REMOTE_BACKUP_MOUNT/backup" -xzvf "$REMOTE_BACKUP_MOUNT/$BACKUP_FILENAME" --strip 1
echo "   EdgeDB restoring..."
$spinner docker exec edgedb edgedb restore -v --allow-non-empty --all "$REMOTE_BACKUP_MOUNT/backup"
RESULT=$?

echo "Cleanup..."
$spinner docker exec edgedb rm -rf "$REMOTE_BACKUP_MOUNT"

echo "Creating a new container with user role..."
docker-compose -f "$root_dir/docker-compose.yml" --env-file "$root_dir/.env" up -d --no-deps --force-recreate --build "$DOCKER_CNAME"

if [ $RESULT -eq 0 ]; then
    echo "Done!"
else
    echo "Error!"
fi

bin/.env.restore

EDGEDB_USER="edgedb"
EDGEDB_PASSWORD=""

If I run the script, this is the relevant failing part:
   EdgeDB restoring...
edgedb error: Cannot assign requested address (os error 99)

And if I run it myself in the container:
root@166e28f41fd0:/# edgedb restore -v --allow-non-empty --all /backup/backup
edgedb error: ERROR: AuthenticationError: invalid SCRAM verifier for user 'edgedb'

root@166e28f41fd0:/# env
HOSTNAME=166e28f41fd0
PWD=/
EDGEDB_USER=edgedb
EDGEDB_PASSWORD=
HOME=/root
LANG=en_US.utf8
EDGEDB_DATADIR=/var/lib/edgedb/data
GOSU_VERSION=1.11
TERM=xterm
SHLVL=1
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
VERSION=1-beta1
_=/usr/bin/env

I think the os error 99 is because when docker-compose gives back the control, the DB is not yet ready to init.

It works!
I put a dummy password in .env.restore:
EDGEDB_USER="edgedb"
EDGEDB_PASSWORD="edgepassword"

And I reran it.
...
...
   EdgeDB restoring...
[2021-04-09T08:47:23Z INFO  edgedb::commands::restore] Schema applied in 17.4524872s
[2021-04-09T08:47:23Z INFO  edgedb::commands::restore] Blocks sent in 327.8379ms
[2021-04-09T08:47:35Z INFO  edgedb::commands::restore] Complete in 29.8203546s
Cleanup...
Creating a new container with user role...
Recreating edgedb ... done
Done!
Starting the database...
edgedb
(temp-bot-async) ⋊> ~/P/f/temp-bot-async on CBA-2_populate_database ⨯   docker exec -i edgedb edgedb -c "select count(ImportedFile);"                                 17:47:52
6

I just need to monitor the docker logs on the 2nd (user) container creation, wait on ready and make the cleanup a bit more serious.
But thanks for your dedication and help!
(my  suggestion on  --wipe-clean or --force still stands 😄 )

I created this gist to show the full solution (cleanup is now okayish).
https://gist.github.com/Mulugruntz/a06cfd81d3953816c5a4b79fb32066ed
If you have any suggestion, I'm all ears. But at least, it works!


Business case for Heat doesn't seem to work

When I change the distance and lifetimes of the dispatchable plant types I see no change in the business case. Also the effect of changing the values for the heat market model (number of heat connections and kWh of heat consumed) is not visible in the business case. I deleted all the gas assets and the costs for the electricity grid, but I still get the same numbers as I did before I deleted those. Is this a known issue? And is someone working on this?

@antw is still working on the heat-producer stakeholder. Correct @antw?

I have tested this in my own LES and it seems to be working fine. I edited distances and technical lifetimes and saw a change in the business case for both.
Use the blue "Save" button, and ignore the green "Save and view..." buttons for now.


Added did auth abstract service

Created DidAuthApiService abstract class, which is middleware between API services based on Did authentication.
Moved out DID auth related code from AffinidiVaultStorageService
Upgraded SDK version
Added check for the token expiration
Caching token for particular audience DID to be reused

As a part of this PR we should probably also get rid of @affinidi/affinidi-did-auth-lib explicit dependency in core-sdk.


public-vm: use some "public input"-like mechanism for calldata and return

https://hackmd.io/8kkJo4RkRTG6mpwL8fOf3w


piVCCU not allocating UART

Hi,
I am using iobroker with piVCCU.
In addition to the HmIP-RFUSB (which is connected to USB) I want to use a z-wave module connected to the GPIO.
Unfortunately it looks like that the piVCCU is blocking the GPIO (at least I can't see the normal tty device under devices).
Is there a way to avoid this?
Thanks Markus

wow, thanks a lot - worked like a charm


[Feature]: Jest-Cli exports some util APIs

🚀 Feature Proposal
Proposal: jest-cli package export buildArgv API and init API, or adding callback/plugin system.
https://github.com/facebook/jest/blob/356b3b05b77f927b49e151302edbef6594d09a22/packages/jest-cli/src/cli/index.ts#L51-L86
https://github.com/facebook/jest/blob/34308ae21827a44916471106b4e3afdb3779cbb1/packages/jest-cli/src/init/index.ts#L40-L155
Motivation
My purpose is to do something else when invoke run API of jest-cli, like this:
async function run (maybeArgv, ...) {
  const argv = buildArgv(maybeArgv);

  if (argv.init) {
      await init();
      return;
  }

 // do something
}

As we can see, if I want to let it to work well, I should import buildArgv API and init API from jest-cli/build/cli/index and jest-cli/build/init
After v27, I noticed that jest-cli did not export them anymore. I'm so agreed that it's a great idea to just export APIs which were introduced in the document. But how can I solve this problem in an easy way? I think that I can only rewrite a jest-cli to finish it.

So, can jest-cli support this workaround by exporting some util APIs, or adding a callback/plugin system?
Example
By exports in package.json ( the easiest way I think ):
  "exports": {
    ".": {
      "types": "./build/index.d.ts",
      "default": "./build/index.js"
    },
    "./package.json": "./package.json",
    "./bin/jest": "./bin/jest.js",
    "./util": "blabla"     // add this line
  },

By plugin system/ callback:
export async function run(
  maybeArgv?: Array<string>,
  project?: string,
  callback?: any, // add a callback
): Promise<void> {
  try {
    const argv = await buildArgv(maybeArgv);

    if (argv.init) {
      await init();
      return;
    }

    // use callback if it exists.
    if(callback) {
        callback(argv, project);
    } else {
        const projects = getProjectListFromCLIArgs(argv, project);

        const {results, globalConfig} = await runCLI(argv, projects);
        readResultsAndExit(results, globalConfig);
    }
  } catch (error: any) {
    clearLine(process.stderr);
    clearLine(process.stdout);
    if (error?.stack) {
      console.error(chalk.red(error.stack));
    } else {
      console.error(chalk.red(error));
    }

    exit(1);
    throw error;
  }
}

Pitch
The most important point is that I think jest really need a plugin system( or callback ) to ensure users can do something else easier.
The second point is a little "selfish" because jest doing that is really easier than me, lol. Otherwise, I must rewrite jest-cli in my project to do that.

@adamma1024 sorry, missed this. You're basically wanting #5048. However, we can export those APIs you imported from build if you want. Wanna send a PR?


Backported dump to stdout from powerbi-vcs-dotnet

Using these changes I was able to add pbivcs to my textconv config and see diffs of binary pbit files in git diff.

Awesome, thanks @kcaswick - merged = ) Good stuff.


Merge frozen-init into main: Simplify MakeInstance vm logic

Instances are now frozen before entering init, their fields defaulting to null before it is run.
Init auto assign of matching var names is now sugar rather than a vm feature.
Remember to Add/Update the:

[x] Sample scripts
[x] Test scripts

coverage: 88.476% (-0.2%) from 88.626%
when pulling 68b38b702798d7d90223a4ab0101fe54c2c4f606 on frozen-init
into<PHONE_NUMBER>17784123fbdf3df91a827b830c42af on main.


CallEvent.ACTION_CALL_DECLINE

Hello for onEvent.listen in case CallEvent.ACTION_CALL_DECLINE: seem not working for me.
I not sure if I handle it correctly.

I worked after rebuild app.


Error message update

When istio is built from the cloned github version, the command:
istioctl manifest apply --set profile=demo
returns:
Error: failed to apply manifests: Asset profiles/demo.yaml not found
This update fixes it so that the error message is instead
Error: failed to apply manifests: compiled in charts not found in this development build, use --charts with local charts instead or run make gen-charts
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Hi @jgkogan. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/ok-to-test

@jgkogan: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

analyze-tests_istio
97fc4bb0baca4ee2c3f3e9a902f01ddeb864c239
link
/test analyze-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Looks like it's already fixed, closing this.


An unspent bullet is ejected after firing a Deckard for the first time

Description

Firing the deckard (or any gun with the autocycle value) will eject an unspent bullet
Screenshots

^ an unspent casing on the ground after firing for the first time

^ same thing after adding "autocycle: true" to the double-barreled shotgun
Additional context

I came across this bug while trying to make the double barreled shotguns behave closer to real life (and not like a bolt action rifle).
After adding autocycle, the shotgun is only able to fire once if BOTH shells are loaded.

My guess is that autocycling (after clicking) racks the gun first, and then fires. This could maybe be fixed by changing the order, making the gun fire first and racking second.


[CT-239] Add black formatter and precommit hooks

Following the changes in dbt-core, let's add the black formatter and precommit hooks to the repo.
Follow the example done in dbt-core:

Example precommit hook PR: https://github.com/dbt-labs/dbt-core/pull/4639
Example formatter PR: https://github.com/dbt-labs/dbt-core/pull/4697

CC: @iknox-fa for questions

I forgot to put "close" in the PR explicitly so the issue needs a manual close.


Document DefinePlugin alternative

Feature request
Esbuild can be used as an alternative to DefinePlugin.
Document usage.
Why?
n/a
Alternatives
No response
Additional context
No response

I  was using webpack DefinePlugin in the project. I wanted to support older browsers and encountered this problem.
The solution is to add a define section to esbuild-loader.
Before
rules: [
           ....
       {
            test: //.(ts|tsx)$/,
            exclude: /node_modules/,
            loader: "esbuild-loader",
            options: {
                loader: "tsx",
                target: 'esnext'
            },
       }
]

plugins: [
        ....
        new webpack.DefinePlugin({
            "import.meta.env.MODE": JSON.stringify(process.env.NODE_ENV),
            "import.meta.env.PATH": JSON.stringify('path'),
        }),
]

After
rules: [
           ....
       {
            test: //.(ts|tsx)$/,
            exclude: /node_modules/,
            loader: "esbuild-loader",
            options: {
                loader: "tsx",
                target: 'es2015'
                define: {
                    "import.meta.env.MODE": JSON.stringify(process.env.NODE_ENV),
                    "import.meta.env.PATH": JSON.stringify('path'),
                }
           },
       }
]

Closed via https://github.com/esbuild-kit/esbuild-loader/commit/fb8548547d5f95cc8d0848e0af0fb47fd2c42307