MGDOBR-362: Resilient Resource provisioning

https://issues.redhat.com/browse/MGDOBR-362
Please make sure that your PR meets the following requirements:

[x] Your code is properly formatted according to this configuration
[x] Your commit messages are clear and reference the JIRA issue e.g: "[MGDOBR-1] - $clear_explanation_of_what_you_did"
[x] All new functionality is tested
[x] Pull Request title is properly formatted: MGDOBR-XYZ Subject
[x] Pull Request contains link to the JIRA issue
[x] Pull Request contains link to any dependent or related Pull Request
[x] Pull Request contains description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket

How to trigger pipelines and use the bots:

Run the end to end pipeline
Annotate the pull request with the label: safe to test. If you want to run the pipeline again, remove and add it again.

Rebase the pull request
Comment with: /rebase.

@lucamolteni @r00ta @robpblake This PR is my attempt to combine the best (or worse) of all worlds.
Personally, I'd like to improve how Processors create Connectors by decoupling with a more generic mechanism.
However my battle with keeping transactions open as short as possible took so long; I thought you should review first.

I'm not sure I understood how we handle two different pods having two runs of processWorkQueue() and therefore firing the same event?

Each WorkManager instance (one per pod) has a workerId that identifies it from any other instance. Work is associated with a WorkManager. When processWorkQueue() runs it retrieves Work for the executing WorkManager instance. Therefore a pod will only run Work associated with itself. When a pod dies the "Oliver Twist" code runs and the newly instantiated WorkManager claims orphaned Work for itself. New Work will be associated with whatever WorkManager scheduled it.
Do you foresee any issues?

@robpblake @lucamolteni I'll make all of the code changes tomorrow (move some fields to Work, use of em.merge(..), remove list of ConnectorEntity etc). @robpblake I don't need to update the "accepted, dependencies provisioned" query used by the Shard as it joins on Connectors where state is READY so should be fine.. but I will check (tomorrow).

@robpblake @lucamolteni I'll make all of the code changes tomorrow (move some fields to Work, use of em.merge(..), remove list of ConnectorEntity etc). @robpblake I don't need to update the "accepted, dependencies provisioned" query used by the Shard as it joins on Connectors where state is READY so should be fine.. but I will check (tomorrow).

@manstis If we update the query to check for ProcessorStatus=PROVISIONING and dependenciesReady=true, then it works "forever"™ no matter how many other resources we provision for a Processor.

@lucamolteni Nothing like spending a Friday afternoon fixing merge issues following MGDOBR-340 :rofl:

@robpblake @lucamolteni @r00ta all changes thus far have been applied.

@robpblake I'm adding a commit for your comment.

Hi @robpblake I've removed the join on connector statuses to make the Shard check work "forever"™.
It did introduce an interesting problem; that I think you should consider: the sole truth is now the Processor table and its dependencyStatus column which means we need to be sure it is updated. Obviously it has been coded that way however I did need to fix some tests that were only setting the processor state. It is all too easy to think "doh, obvious" now... but in 6 months time when someone sets a Connector status and a Processor doesn't get provisioned could be a headache to debug. The test coverage should be enough.
Furthermore I had to split the code for Processors to be "deployed" and those to be "deleted" as having a single method to return both meant we could possibly return a Processor that was DEPROVISION but dependency status of READY where we really wanted ACCEPTED/READY and DEPROVISION/DELETED.

Oh look @robpblake @lucamolteni @jomarko @r00ta all green and less than answered 150 review comments :fireworks: :champagne:
Let's try to consider this refactor complete (for the scope of the JIRAs and Sprint) and merge.
I can then continue with the remaining work for the complete refactor.

Approving. However without any manual checks. As new member not sure how to test locally changes of PR.

You can follow both the dev/README.md and DEMO.md files to run a Open Bridge instance locally.
You'll need to follow the demo for a SlackAction.

Approving. However without any manual checks. As new member not sure how to test locally changes of PR.

You can follow both the dev/README.md and DEMO.md files to run a Open Bridge instance locally.
You'll need to follow the demo for a SlackAction.

@robpblake @danielezonca @r00ta @lucamolteni More updates completed. No outstanding issues, I think.


compute VirtualMachines_ListAll OBJECT_MISSING_REQUIRED_PROPERTY

The latest specs for compute #14223 #12334 have Swagger correctness bugs that break deserialization with the Azure SDK for Rust https://github.com/Azure/azure-sdk-for-rust/issues/54. In this case, it looks to be a bug in the Swagger spec. The API does not send back the required location.. The definition should probably be SubResourceReadOnly instead of Resource. See #14458.

@avirishuv can you please have a look?

Following up to investigate this.

quick update: this is added to the backlog for bugfix, will provide an update here when it gets picked up.

fix rollout is yet to be completed for this issue.

I'm able to reproduce the api-version 2021-11-01. I'll try to break down the problem a bit more.  The operation VirtualMachines_ListAll returns a list of VirtualMachine definitions.
https://github.com/Azure/azure-rest-api-specs/blob/f635d0ffb31308098993e02cc1ab1a83db6bb585/specification/compute/resource-manager/Microsoft.Compute/stable/2021-11-01/compute.json#L13880-L13897
Each VirtualMachine has a resources element that contains an array of VirtualMachineExtensionImage:
https://github.com/Azure/azure-rest-api-specs/blob/f635d0ffb31308098993e02cc1ab1a83db6bb585/specification/compute/resource-manager/Microsoft.Compute/stable/2021-11-01/compute.json#L11089-L11106
Use your favorite tool or SDK to list VMs. An example request is
GET /subscriptions/7f1fae41-7708-4fa4-89b3-f6552cad2fc1/providers/Microsoft.Compute/virtualMachines?api-version=2021-11-01
One of the resources starts off like this:
      "resources": [
        {
          "id": "/subscriptions/7f1fae41-7708-4fa4-89b3-f6552cad2fc1/resourceGroups/AAGILLCS/providers/Microsoft.Compute/virtualMachines/tnt42-mgmt-p01-eastus2-incumbentVm/extensions/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent"
        },
        {
          "id": "/subscriptions/7f1fae41-7708-4fa4-89b3-f6552cad2fc1/resourceGroups/AAGILLCS/providers/Microsoft.Compute/virtualMachines/tnt42-mgmt-p01-eastus2-incumbentVm/extensions/Microsoft.Azure.Security.Monitoring.AzureSecurityLinuxAgent"
        }

Notice that it only includes the id field. That does not match this definition:
    "Resource": {
      "description": "The Resource model definition.",
      "properties": {
        "id": {
          "readOnly": true,
          "type": "string",
          "description": "Resource Id"
        },
        "name": {
          "readOnly": true,
          "type": "string",
          "description": "Resource name"
        },
        "type": {
          "readOnly": true,
          "type": "string",
          "description": "Resource type"
        },
        "location": {
          "type": "string",
          "description": "Resource location"
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Resource tags"
        }
      },
      "required": [
        "location"
      ],
      "x-ms-azure-resource": true
    },

A location field is required for a Resource. I think the implementation actually matches a SubResourceReadOnly:
    "SubResourceReadOnly": {
      "properties": {
        "id": {
          "readOnly": true,
          "type": "string",
          "description": "Resource Id"
        }
      },
      "x-ms-azure-resource": true
    },

Assigned myself this, as I am taking ownership of this issue

@cataggar  thank you for the comment and attention.
Changing from Resource to SubResourceReadOnly will remove name, type, location, and tags property.
However, a VMExtension object has those properties inherently from the backend.

I am exploring another solution:  creating a new object called "ResouceWithOptionalLocation" which has the same properties but without having location tagged as 'required'. You can see my change 'here' I am working with the Swagger team for this changes impact on SDKs (track 2 and 1). I will keep you updated.

I see. That makes sense. Thanks @grizzlytheodore.

PR made to resolve: https://github.com/Azure/azure-rest-api-specs/pull/18487
it will be released with CRP 2022-03-01 version


Allow client to provide interceptors to requests

To make it easier to handle the requests on the client side, allow for
interceptors to be added that can either change the request or the
response in a predetermined way. These are given at client creation time
and are optional.
This is a basic use case, we have in our current dashboard to do
camelCase -> snake_case conversion and viceversa. I'm not sure this is
needed on the dashboard in the future, but the functionality itself is
still valuable.
Signed-off-by: Ruben Aguiar<EMAIL_ADDRESS>

I'm not sure we have a use case for this at the moment. Snake case <-> camel case translation is prevented by the fact that we already return types with snake case in them and modifying that would be braking the type safety.

I'm not sure we have a use case for this at the moment. Snake case <-> camel case translation is prevented by the fact that we already return types with snake case in them and modifying that would be braking the type safety.

Yeah, I didn't have any particular use case in mind, just thought interceptors might be useful to provide to the user. But besides logging incoming/outgoing info, I honestly don't see anything. For that use case, it might be better to provide a config in APIConfig object though. I'll close this 👍


UserWarning: Unknown value

Hi,
Thanks for your wonderful work.
When running
# Run GearNet on the Enzyme Comission dataset with 1 gpu
python script/downstream.py -c config/downstream/EC/gearnet.yaml --gpus [0]

I met the following log:
/home/chenshoufa/workspace/torchdrug/torchdrug/data/protein.py:213: UserWarning: Unknown residue `PT`. Treat as glycine
  warnings.warn("Unknown residue `%s`. Treat as glycine" % type)
/home/chenshoufa/workspace/torchdrug/torchdrug/data/feature.py:42: UserWarning: Unknown value ` PT`
  warnings.warn("Unknown value `%s`" % x)
Constructing proteins from pdbs:   1%|█▏                                                                                | 172/19198 [00:29<1:01:27,  5.16it/s]
/home/chenshoufa/workspace/torchdrug/torchdrug/data/protein.py:213: UserWarning: Unknown residue `COB`. Treat as glycine
  warnings.warn("Unknown residue `%s`. Treat as glycine" % type)
/home/chenshoufa/workspace/torchdrug/torchdrug/data/feature.py:42: UserWarning: Unknown value `COB`
  warnings.warn("Unknown value `%s`" % x)
Constructing proteins from pdbs:   1%|█▏                                                                                | 183/19198 [00:30<57:46,  5.48it/s]
/home/chenshoufa/workspace/torchdrug/torchdrug/data/feature.py:42: UserWarning: Unknown value `Be`
  warnings.warn("Unknown value `%s`" % x)
/home/chenshoufa/workspace/torchdrug/torchdrug/data/protein.py:213: UserWarning: Unknown residue `ADP`. Treat as glycine
  warnings.warn("Unknown residue `%s`. Treat as glycine" % type)
/home/chenshoufa/workspace/torchdrug/torchdrug/data/feature.py:42: UserWarning: Unknown value `ADP`
  warnings.warn("Unknown value `%s`" % x)
/home/chenshoufa/workspace/torchdrug/torchdrug/data/protein.py:213: UserWarning: Unknown residue `BEF`. Treat as glycine
  warnings.warn("Unknown residue `%s`. Treat as glycine" % type)
/home/chenshoufa/workspace/torchdrug/torchdrug/data/feature.py:42: UserWarning: Unknown value `BEF`
  warnings.warn("Unknown value `%s`" % x)
Constructing proteins from pdbs:   1%|█▏                                                                                | 186/19198 [00:31<1:01:54,  5.12it/s]
/home/chenshoufa/workspace/torchdrug/torchdrug/data/protein.py:213: UserWarning: Unknown residue `1NB`. Treat as glycine
  warnings.warn("Unknown residue `%s`. Treat as glycine" % type)
/home/chenshoufa/workspace/torchdrug/torchdrug/data/feature.py:42: UserWarning: Unknown value `1NB`

Is it normal?
Thanks in advance.

Hi, thanks for raising this issue! This is a normal behavior.
This warning is raised when loading pdb with unknown residue types. Since we only consider 20 common residue types, other unknown types will be treated as GLY. The pdb files for EC datasets are directly download from PDB, so it's quite noisy and common to meet unknown residues.

Thanks for your reply.


Fixed Sports Plugin for cancelled games

When a game was cancelled, for some reason, the game wouldn't end with the old delimiter, causing it to be parsed correctly Lion. I found  a new string that no matter what, each entry has


WrapCustomizable bug

If I conform struct to WrapCustomizable and override func wrap(propertyNamed propertyName: String, originalValue: Any, context: Any?, dateFormatter: DateFormatter?) throws -> Any?, this overriden function of protocol is not called.
I tracked the problem to 529th line in Wrap.swift, where protocol extension default implementation is called instead of the one in the struct.
Funnily enough, func keyForWrapping(propertyNamed propertyName: String) -> String? is called in struct overriden conformance as expected...
Is this a method dispatch issue? The only difference between those two methods is that first one contains Any...
Any ideas @JohnSundell?

Oh dear God...
I finally found the issue... My project uses a subclass of DateFormatter called... wait for it... DateFormatter...
And it clashes with the signature of the function above because it is not the same DateFormatter type...
😶


Replace Unix.system by Sys.command and Unix.create_process.

Unix.system cannot be used on Windows because it relies unix fork.

@facebook-github-bot import

@facebook-github-bot shipit


Update handler stack

I noticed that the handler stack for production has ssl-redirect, which means not having a cert with -m prod will still not work.  In looking at the two handler stacks, the only difference is ssl-redirect for prod, and reload for dev.
In your review of the run-server param updates you said
"Don't tie https to mode=prod. We specifically need to
be able to run production mode with http only on our Raspberry Pi.
This also makes it possible to test advanced mode compilation on our
local machines without https."
However, the back end does not have "advanced mode compilation". So we just need to use the production handler stack without ssl-redirect.  we will have to redefine the production handler stack to take a ssl? param.  Most of our middleware is the same in wrap-common handler.  We can also have a reload? param and consolidate into one handler stack function.
Something like (in handler.clj)
(defn create-handler-sack [ssl? reload?]
  (as-> authenticated-routing-handler handler
    (if ssl?
      (wrap-ssl-redirect handler)
      handler)
    (wrap-common handler)
    (if reload?
      (wrap-reload handler)
      handler)))

and (in server.cljs)
handler #(create-handler-sack (and has-key? https-port) (= mode "dev"))

This code change appears to be working.  Im not sure what the '# notation was for, so Im not sure that this is a 1 for 1 update.

handler.clj:

Line 155: Handler Stack
Line 163: create-handler-sack -> create-handler-stack

server.clj:

Lines 6,58: create-handler-sack -> create-handler-stack

In response to your question about the #'app syntax, that is the
reader macro for (var app). ring-jetty is built such that if you
pass a handler function as its :handler attribute, then that function
object will be installed in the running server, and off you go.
However, if you redefine that function (e.g., development-app), you
will need to restart the server for your changes to take effect. If
you pass a var that is bound to a handler function as the :handler
attribute to ring-jetty, then redefining the var should allow you to
immediately use the new code changes without restarting the server.
Having said that, it is possible that wrap-reload may also take care
of this via a different route. It would be good to verify this.


Add accent insensitive highlighting

I have a case where the data received contains text with accents. The users almost always search without accents so the result is that suggestions are not being highlighted.
Is there a way to do this? From what I saw there isn't a way to add custom behavior to the highlighting functionality.
Thanks

The easiest way will be to add 'datum' attribute containing both accented and normalized words.
For examples,
var cities = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('term'),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    local: [
        {"name": "Bécancour", "term": "Bécancour Becancour"},
        {"name": "Bedford","term":"Bedford"},
        {"name": "Québec","term":"Québec Quebec"}
    ]
});
$('#states').typeahead({
    highlight: true
}, {
    display: 'name',
    source: cities
});

I have a PR open for this here: https://github.com/twitter/typeahead.js/pull/1013
feel free to take a look at my implementation. I do not yet know if @jharding will be merging the PR.


Ensure the drop target remains properly identified for draggable columns

closes #417
Special classes are added to the cells that are being dragged over, so that they can be styled appropriately. However, dragLeave is not just triggered when the drag exits the cell, but also when the drag enters a child element inside the cell.
If the table is implemented with draggable columns, and also with either child elements inside the table header cells, or resizable columns, the is-drag-target class will be removed from the cell even while it is being dragged over. Resizable columns add a extra div (with class lt-column-resizer) inside the table header cell. This means that with both draggable and resizable columns, the drag target styling will rarely be applied when dragging to the left, while it mostly works while dragging to the right.

Here is an Ember-twiddle demonstrating the problem: https://ember-twiddle.com/4ab83dd0909fe3bc2083a47c1b0ba6fb?openFiles=components.expandable-table.js%2C
There are a few different ways to approach this problem but there are annoying edge cases that introduce new bugs for a few of them that I tried. This solution is to reset isDragTarget to true in dragOver, since it is constantly being called while the cell is being dragged over. It seems to work pretty well.

Here is a Twiddle demonstrating this solution: https://ember-twiddle.com/e30d04f1e3e1f4cdb3f95749dbeb3f6c?openFiles=components.expandable-table.js%2C

@RustyToms thanks for this. Sorry for the delay.

Can you verify this work across grouped columns as well?

Just encountered this issue today and also made a video.......... but looks like I don't need to post it :)
Glad it's already known about though!

Hey @offirgolan @alexander-alvarez this is still a pretty bad issue, what do you need right now in order to merge this? Do you still want the demo updated?

@RustyToms so sorry this slipped through the cracks... I checked out your branch it and clearly works as expected, so I'll merge this in.
I don't use the drag/drop functionality, but if you feel that we could do a better job on the documentation side of it, please let us know, or open up a PR.


Update firefox-addon to newst version

the current Firefox-addon here https://addons.mozilla.org/en-US/firefox/addon/youtube-center/ 2.1.0 does not work. I manually updated to 2.1.7 which is working. Please update to newest version on the firefox addons page.

@YePpHa Any progress?
Would love to get it over AMO.
Sync, auto-updates...


Problem in geo parsing in v2 API

Describe the bug
During download tweets in academic api i had problem that collect results stops.
To Reproduce
Steps (and code snippet) to reproduce the behavior:
Code is part of bigger system and I can't put simple code. I cant to reproduce it on new snippet because error archive limit of monthly tweets scrap 😕
import json
from typing import List, Any, Dict

from arrow import Arrow
from searchtweets import collect_results, load_credentials, gen_request_parameters

from app.application.scrap_service import ScrapService
from app.domain.raw_json_twitter_response import RawJsonTwitterResponse
from app.util.log_util import get_logger

logger = get_logger('twitter_scrap')

class OfficialTwitterScrapService(ScrapService):
    _config_file: str
    _premium_search_args: Dict[str, Any]

    def __init__(self, config_file: str):
        self._config_file = config_file
        self._premium_search_args = load_credentials(self._config_file,
                                                     yaml_key="search_tweets_premium",
                                                     env_overwrite=False)

    def scrap(
            self,
            query: str,
            since: Arrow,
            until: Arrow
    ) -> List[RawJsonTwitterResponse]:
        logger.info(
            f'run scrap query :: {query}'
            f' | since :: {since.isoformat()}'
            f' | until :: {until.isoformat()}'
        )
        query = gen_request_parameters(
            query=query,
            granularity=None,
            results_per_call=100,
            start_time=self._get_string_time_from_arrow(since),
            end_time=self._get_string_time_from_arrow(until),
            expansions='attachments.poll_ids,attachments.media_keys,author_id,'
                       'entities.mentions.username,geo.place_id,in_reply_to_user_id,'
                       'referenced_tweets.id,referenced_tweets.id.author_id',
            media_fields='duration_ms,height,media_key,preview_image_url,type,url,width,'
                         'public_metrics,alt_text',
            place_fields='contained_within,country,country_code,full_name,geo,id,name,place_type',
            tweet_fields='attachments, author_id, context_annotations, conversation_id, created_at,'
                         ' entities, geo, id, in_reply_to_user_id, lang, public_metrics,'
                         ' possibly_sensitive, referenced_tweets, reply_settings, source,'
                         ' text, withheld'.replace(' ', ''),
            user_fields='created_at,description,entities,id,location,name,pinned_tweet_id,'
                        'profile_image_url,protected,public_metrics,url,username,verified,withheld'
        )
        tweets = collect_results(
            query,
            max_tweets=10_000_000,
            result_stream_args=self._premium_search_args
        )
        return [RawJsonTwitterResponse(json.dumps(it)) for it in tweets]

    @staticmethod
    def _get_string_time_from_arrow(time: Arrow) -> str:
        return time.isoformat()[:-9]

Expected behavior
I want to scrap tweets without error.
Environment

Ubuntu 20.20
Docker Python:3.8

Additional context
Error log
2021-12-05 09:24:42,927 [searchtweets.result_stream    ] INFO     paging; total requests read so far: 103
2021-12-05 09:24:44,929 [searchtweets.result_stream    ] DEBUG    sending request
2021-12-05 09:24:45,971 [urllib3.connectionpool        ] DEBUG    https://api.twitter.com:443 "GET /2/tweets/search/all?query=%28%22%23covid%22+OR+%22%23COVID-19%22+OR+%22%23Covid19%22+OR+%22%23doros%C5%82o%C5%9B%C4%87%22+OR+%22%23generacjaX%22+OR+%22%23generacjaY%22+OR+%22%23generacjaZ%22+OR+%22%23genX%22+OR+%22%23genY%22+OR+%22%23genZ%22+OR+%22%23koronawirus%22+OR+%22%23koronawiruspolska%22+OR+%22%23liceum%22+OR+%22%23lockdown%22+OR+%22%23matura%22+OR+%22%23matura2020%22+OR+%22%23matura2021%22+OR+%22%23matura2022%22+OR+%22%23millenialsi%22+OR+%22%23m%C5%82odzi%22+OR+%22%23pandemia%22+OR+%22%23pierwszami%C5%82o%C5%9B%C4%87%22+OR+%22%23pierwszapraca%22+OR+%22%23praca2020%22+OR+%22%23praca2021%22+OR+%22%23praca2022%22+OR+%22%23pracazdalna%22+OR+%22%23praktyki%22+OR+%22%23rekrutacja2020%22+OR+%22%23rekrutacja2021%22+OR+%22%23rekrutacja2022%22+OR+%22%23siedznadupie%22+OR+%22%23solidarno%C5%9B%C4%87%22+OR+%22%23sta%C5%BC%22+OR+%22%23strajkkobiet%22+OR+%22%23studia2020%22+OR+%22%23studia2021%22+OR+%22%23studia2022%22+OR+%22%23studiazdalne%22+OR+%22%23zdalne%22+OR+%22%23zdalnenauczanie%22+OR+%22%23zostanwdomu%22%29+lang%3Apl&start_time=2020-04-13T00%3A00%3A00Z&end_time=2020-04-14T00%3A00%3A00Z&max_results=100&tweet.fields=attachments%2Cauthor_id%2Ccontext_annotations%2Cconversation_id%2Ccreated_at%2Centities%2Cgeo%2Cid%2Cin_reply_to_user_id%2Clang%2Cpublic_metrics%2Cpossibly_sensitive%2Creferenced_tweets%2Creply_settings%2Csource%2Ctext%2Cwithheld&user.fields=created_at%2Cdescription%2Centities%2Cid%2Clocation%2Cname%2Cpinned_tweet_id%2Cprofile_image_url%2Cprotected%2Cpublic_metrics%2Curl%2Cusername%2Cverified%2Cwithheld&media.fields=duration_ms%2Cheight%2Cmedia_key%2Cpreview_image_url%2Ctype%2Curl%2Cwidth%2Cpublic_metrics%2Calt_text&place.fields=contained_within%2Ccountry%2Ccountry_code%2Cfull_name%2Cgeo%2Cid%2Cname%2Cplace_type&expansions=attachments.poll_ids%2Cattachments.media_keys%2Cauthor_id%2Centities.mentions.username%2Cgeo.place_id%2Cin_reply_to_user_id%2Creferenced_tweets.id%2Creferenced_tweets.id.author_id&next_token=b26v89c19zqg8o3fo77h5m9ag2pb6dnxq7h6w432p5myl HTTP/1.1" 200 60232
Traceback (most recent call last):
  File "app/main.py", line 41, in <module>
    worker_loop()
  File "app/main.py", line 34, in worker_loop
    single_work()
  File "app/main.py", line 28, in single_work
    get_worker_service().run()
  File "/app/app/application/worker_service.py", line 53, in run
    raw_responses = self._scrap_service.scrap(
  File "/app/app/infrastructure/official_twitter_scrap_service.py", line 54, in scrap
    tweets = collect_results(
  File "/root/.cache/pypoetry/virtualenvs/swps-tweet-infrastructure-9TtSrW0h-py3.8/lib/python3.8/site-packages/searchtweets/result_stream.py", line 467, in collect_results
    return list(rs.stream())
  File "/root/.cache/pypoetry/virtualenvs/swps-tweet-infrastructure-9TtSrW0h-py3.8/lib/python3.8/site-packages/searchtweets/result_stream.py", line 361, in stream
    yield from self.formatted_output()
  File "/root/.cache/pypoetry/virtualenvs/swps-tweet-infrastructure-9TtSrW0h-py3.8/lib/python3.8/site-packages/searchtweets/result_stream.py", line 288, in formatted_output
    includes_tweets[included_id] = expand_payload(included_tweet)
  File "/root/.cache/pypoetry/virtualenvs/swps-tweet-infrastructure-9TtSrW0h-py3.8/lib/python3.8/site-packages/searchtweets/result_stream.py", line 270, in expand_payload
    place_id = payload["geo"]['place_id']
KeyError: 'place_id'

Thanks! I think this is missing in the code - when a tweet has exact geo but no place. There's no quick workaround you can do unfortunately - not without changing some code here: https://github.com/twitterdev/search-tweets-python/blob/v2/searchtweets/result_stream.py#L269-L271
This should fix it:
            if "geo" in payload and "place_id" in payload["geo"]:
                place_id = payload["geo"]['place_id']
                payload["geo"] = merge_dicts(payload["geo"], includes_places[place_id])

I want wait for official release (I'm build docker containers -- it will be little bit harder to prepare container with updated lib), when it will be released?

No idea, but if you don't want to wait you can install the patch directly with pip, from the branch like this:
pip install git+https://github.com/twitterdev/search-tweets-python.git@refs/pull/144/merge

Or
pip install https://github.com/igorbrigadir/search-tweets-python/archive/patch-2.zip

Or put
https://github.com/igorbrigadir/search-tweets-python/archive/patch-2.zip

Directly into a requirements.txt instead of searchtweets-v2 and your docker should build it all the same!


Test against Python 3.7

Does what it says on the tin. I don't remember if we had a policy for what version to test against, but 3.7 has been out for a while now so it seemed reasonable.

Typically, Travis doesn't support 3.7 yet and has "no plans". I really wish they'd get their act together and have a schedule for these sorts of things. Then again, see #135.
Trying workarounds from the interwebs for now.


Check for go modules as part of make lyra as well as make all

Prior to this commit, make (all) would validate the go version is 11.4+and if not error with the message must be running Go version 1.11.4 or later (cref https://github.com/golang/go/issues/29278#issuecomment-447537558).  This commit adds that same validation to make lyra as this is commonly used instead of make.  As a result the check is done twice for make but this is very fast.

excellent, thank you! 🙏


Methods for performing single or repeated measurements.

Part of #657

The way github changes how things behave based on if they are "outdated" or not is driving me crazy. I can't tell what's talking about what anymore.

Yeah I wonder if they changed something about "outdated"

PTAL

LGTM

Fixed type annotation.  Seems that it is not barfing now.  Why?  I don't know.

Automerge: started

Automerge done.


find objects like car, person in lane

I want to work on this issue @akshitagupta15june .

ok @kritikaparmar-programmer assigning it to u

Hello! I want to work on this issue @akshitagupta15june

Hi Akshita, I would like to work on this issue.

Hi Akshita, I would like to work on this issue.

Ma'am kindly assign me this issue. @akshitagupta15june

Ma'am kindly assign me this issue. @akshitagupta15june

ok @SinghShreya05

ok @SinghShreya05

I would like to work on this issue, kindly assign it to me!

Ok assigning


feat: Simplify CLI Starters

Overview

What is it?

This PR intends to change the order and names to be more intuitive in the CLI. It also removes the site with visual CMS option after conversing with Shai on this.
New CLI App order:
Empty App (Qwik City + Qwik)
Library (Qwik)
Playground App (Qwik City + Qwik)

Changelog:
Moved Empty App as the first option
Renamed Component library to Library as the (2nd option)
Renamed Basic App to Playground App (3rd option)
Removed Site with visual CMS template

[ ] Feature / enhancement
[ ] Bug
[ ] Docs / tests / types / typos

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Use cases and why

One use case

Another use case

Checklist:

[ ] My code follows the developer guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

Is it still valid or is it abandoned?


@param and @returns are overly sensitive to whitespace

[x] I have checked issues with bug label and found no duplicates

Expected Behavior
@param and @returns should ignore up to two characters of leading whitespace between a * beginning a comment line and an @ beginning a javadoc annotation.
(Or, at the bare minimum, there should be a boldface warning in the docs and some kind of lint so such a subtle typo can't slip in unnoticed.)
Actual Behavior
When I tried to use @param and @returns to document function signatures in interface declarations, I kept getting them passing through as literals.
I wound up utterly convinced that there was a bug in the aspect of the parser which dealt with what subset of javadoc comments were supported and it was only while minimizing the testcase to report it here that I realized it wasn't actually a case of "@param and @returns are broken inside interface definitions" but rather the leading space I'd added so they visually lined up with the text on the /** line.
Steps to reproduce the bug

Install TypeDoc on top of Using TypeScript 3.7.4 (what I got when I asked npm for the latest versions)
Put the following in test.ts in an empty folder:

interface TestInterface {
  /** Function description
   *
   *  @param scope Test description.
   *  @returns Test description.
   */
  testFunc(scope: string): boolean;
}

Run rm -rf docs; typedoc --out docs test.ts with the working directory set to the folder containing test.ts.

Backspacing away one character of whitespace before each @ will result in it working, but you have to know to do that and it's easy for it to slip back in if something like Vim is handling indentation and line-wrapping within comments.
Environment

Typedoc version: 0.16.1
Node.js version: v8.16.0
OS: Kbuntu 16.04.6 LTS

The @param and @returns should be properly picked up there. We shouldn't just ignore them. Thanks for the reproduction!

Fixed in 0.16.2 :)


Get-PnPTenantRecycleBinItem deliver wrong results

The Results from the output Get-PnPTenantRecycleBinItem are wrong. There been Sites in that are not available and couldn't get restored. Get-SPDeletedSite deliver different Results and I have no idea where this information comming from.

@officedocsbot assign @yogkumgit

Hello @marc-decker How are you? Thanks for your feedback.
I tested in my lab and got the same results using Get-PnPTenantRecycleBinItem and Get-SPODeletedSite.
Please be sure to run the latest updated version of the PnP module.
Thank you

@get-itips  Thank you very much for the contribution and sharing this explanation. @marc-decker
Hope this comment is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.

@officedocsbot close


Properly 404 on missing file

Fixes #1063
Rearranged the order of operations for GET /api/cont_name/cont_id/files/filename/info so logging happens after the file info has been loaded. Endpoint will now properly 404 on unknown files and containers.
Review Checklist

Tests were added to cover all code changes
Documentation was added / updated
Code and tests follow standards in CONTRIBUTING.md

Codecov Report

Merging #1065 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1065      +/-   ##
==========================================
+ Coverage   91.18%   91.18%   +<.01%
==========================================
  Files          50       50
  Lines        6919     6920       +1
==========================================
+ Hits         6309     6310       +1
  Misses        610      610


[Bug] GetStoreRule failure at simple Conv2d + Squeeze model

Thanks for participating in the TVM community! We use https://discuss.tvm.ai for any general usage questions and discussions. The issue tracker is used for actionable items such as feature proposals discussion, roadmaps, and bug tracking.  You are always welcomed to post on the forum first :smile_cat:
Issues that are inactive for a period of time may get closed. We adopt this policy so that we won't lose track of actionable issues that may fall at the bottom of the pile. Feel free to reopen a new one if you feel there is an additional problem that needs attention when an old one gets closed.
Expected behavior
"""
def @main(%x: Tensor[(2, 2, 1, 1), float32]) -> Tensor[(2, 3, 4), float32] {
  %0 = nn.conv2d(%x, meta[relay.Constant][0] /* ty=Tensor[(1, 2, 3, 1), float32] */, strides=[2, 2], padding=[3, 3, 3, 3]) /* ty=Tensor[(2, 1, 3, 4), float32] */;
  squeeze(%0, axis=[1]) /* ty=Tensor[(2, 3, 4), float32] */
}
"""

This simple conv2d + squeeze model should pass compilation but actually failed.
Actual behavior
  5: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&)
        at /home/ganler/Documents/tvm/src/relay/ir/expr_functor.cc:81
  4: tvm::relay::TempRealizer::DispatchVisitExpr(tvm::RelayExpr const&)
        at /home/ganler/Documents/tvm/src/relay/transforms/forward_rewrite.cc:46
  3: tvm::relay::LayoutAlternatedExprNode<tvm::relay::alter_op_layout::AlterTransformMemorizer>::Realize() const
        at /home/ganler/Documents/tvm/src/relay/transforms/transform_layout.h:183
  2: tvm::relay::TransformMemorizer::Transform(tvm::RelayExpr, tvm::tir::Layout const&, tvm::tir::Layout const&)
        at /home/ganler/Documents/tvm/src/relay/transforms/transform_layout.h:115
  1: tvm::relay::TransformMemorizer::TransformHelper(tvm::RelayExpr, tvm::tir::Layout, tvm::tir::Layout)
        at /home/ganler/Documents/tvm/src/relay/transforms/transform_layout.h:157
  0: tvm::tir::BijectiveLayout::BijectiveLayout(tvm::tir::Layout, tvm::tir::Layout)
        at /home/ganler/Documents/tvm/src/tir/ir/data_layout.cc:421
  File "/home/ganler/Documents/tvm/src/tir/ir/data_layout.cc", line 422
TVMError:
---------------------------------------------------------------
An error occurred during the execution of TVM.
For more information, please see: https://tvm.apache.org/docs/errors.html
---------------------------------------------------------------
  Check failed: (GetStoreRule(&n->index_backward_rule, &n->shape_backward_rule, n->dst_layout, n->src_layout)) is false: NHW1c  NHW

Environment
Linux; Clang-14; TVM tag 8f6fa8f2c41406cb54d01647ba8731e4ceb8f4ab;
Steps to reproduce
Preferably a minimal script to cause the issue to occur.
import tvm
from tvm import relay
import numpy as np
xshape = (2, 2, 1, 1)
inp = np.random.uniform(size=xshape).astype(np.int64)

x = relay.var("x", shape=xshape, dtype='float32')

v1 = relay.nn.conv2d(x, weight=relay.const(value=np.random.random((1, 2, 3, 1))), strides=[2, 2], padding=[3, 3, 3, 3], kernel_size=[3, 1], channels=1)
out = relay.squeeze(v1, axis=[1])

func = relay.Function([x], out)
mod = tvm.IRModule.from_expr(func)

with tvm.transform.PassContext(opt_level=4):
    relay.build_module.create_executor("graph", mod, tvm.cpu(), target='llvm').evaluate()

This seems to be related to https://github.com/apache/tvm/pull/9996
cc: @masahi @yangulei

It seems that we are trying to initialize a transform for NHW1c <--> NHW, which need to add/remove a primal axis, while layout_transform doesn't support this so far. In fact, I don't think we need layout transform here.

@yangulei Thanks for explaining this bug. Just curious about the workaround to fix it? Do we need to implement new logics to transform its layout or we can simply skip this optimization for such patterns during global optimization.


Add a note about how to make sure settings files are published

This note was in the Generic Host doc, but it fits better in this one:
To move settings files to the output directory for publishing, specify the settings files as MSBuild project items in the project file. The sample app moves its JSON app settings files and hostsettings.json with the following <Content> item:
<ItemGroup>
  <Content Include="**\*.json" Exclude="bin\**\*;obj\**\*"
    CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>

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

ID: 62fb594f-04bf-c4d7-c94b-6cd6d8b12d75
Version Independent ID: 64e973ac-838d-4459-06b0-4e943bff936e
Content: Host and deploy ASP.NET Core
Content Source: aspnetcore/host-and-deploy/index.md
Product: aspnet-core
Technology: aspnetcore-hostdeploy
GitHub Login: @guardrex
Microsoft Alias: riande

Unless the 🧀 is moving on SDK choice, not recommended since ...

The Microsoft.NET.Sdk.Web SDK provides the targets to take care of it.
The guidance always recommends use of that SDK for web apps of all types.

The reason that this is in the Generic Host topic is that the Generic Host <3.0 uses the Microsoft.NET.Sdk. Therefore, no targets are provided OOB to move the files. Since that's changing, the note can be dropped over there. Recommend closing here.
However... (there's always a "however" in the mix! :smile:) the general idea on how to move files that the SDK doesn't move ✨ auto-magically ✨ isn't currently covered in the Hosting and deployment: Overview topic).
The most coverage that we have on the SDK is in the VS publish profiles topic, and that's probably not where folks will look. This could go in the Hosting and deployment: Overview to surface it.
Might be a good idea to flesh out SDK coverage a bit there and at least list everything that the SDK does when publishing. That's where a dev might look first if they were trying to figure out how to manually get a file to publish or get additional info for SDK-based publishing actions. It could even go as far as to list out the dev-assignable properties that affect publishing.

@guardrex Per your suggestion, I moved this to the Deployment overview.

Thank you for contacting us. Due to a lack of activity on this discussion issue we're closing it in an effort to keep our backlog clean. If you believe there is a concern related to the ASP.NET Core which hasn't been addressed, please file a new issue.

dotnet publish moves all the appsettings{Environment}.json files to the publish directory.

IIRC, wasn't this was about other settings files tho? ... ones that aren't moved ✨ magically.

Maybe not ... my earlier remark seems to have been for like preview Generic Host or something. However, that might true tho ... other types of settings files wouldn't be moved (e.g., INI, XML).


Model organism description

:red_square: Pick a repository description
The description must include the taxonomic classification in full.
Example: The consensus GEM for Saccharomyces cerevisiae

Maybe this belongs more in a guide on how to construct models but it doesn't hurt to have it in description and model annotation:

A recommendation to use (I suppose) NCBI taxonomy name and ID
The reference genome used to construct the model

I believe these 2 fields are meant to be part of the Keywords section in the README. If you don't mind, I'll integrate those two bullet points there.
The repository description refers to the GitHub repository description, see screenshot below:

Just to check, you'd suggest to add the ID and ref genome there?

Keywords are a great place, too, although somewhat limited since they don't allow spaces. I think the description is fine as you suggest. Most importantly, all three pieces of information (name, ID, reference genome) should be annotated in SBML.

I'm hoping this issue is resolved, please reopen if otherwise.


Repo sync for protected CLA branch

The pull request is created from master637401129181454099 to master to fix git push error for protected CLA branch

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


Bug fix for FirewallRule.isSameAs()

FirewallRule.isSameAs() does not correctly compare dl_dst fields between rules.
This patch changes (this.dl_dst != r.dl_dst) to (!this.dl_dst.equals(r.dl_dst)) and adds a unit test for regression.

@rsharo Thanks so much!

No problem!  My info if you want to add to contributor list on the wiki:
Randall Sharo (rsharo)

Done -- thanks!
Ryan Izard
PhD Candidate, Research/Teaching Assistant
ECE Department, Clemson University
<EMAIL_ADDRESS>Big Switch Networks
<EMAIL_ADDRESS>On Tue, Mar 29, 2016 at 1:11 PM, rsharo<EMAIL_ADDRESS>wrote:

No problem! My info if you want to add to contributor list on the wiki:
Randall Sharo (rsharo)
—
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
https://github.com/floodlight/floodlight/pull/644#issuecomment-203003872


TM/TR Vender Selling Multiple TRs

The TR merchant sells two copies of TR70, and doesn't sell TR71.
Can also confirm this is on all three server branches.

Fixed, thanks for your report! Closing.


input  '.' and it will all be highlighted

@WebTzx use autoEscape={true} to not process highlightWords as regular expressions, if it is suitable for your case


Im getting errors

Problem encountered on https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/create
Operating System: windows
When i try making the console file i get the error
It was unable to find any installed .NET Core .Skd

Can you paste the output of the following commands?
dotnet --info
where.exe dotnet


changed default "itemName" into custom property name

All the object will not contain "itemName". Need to provide an option to choose a custom name. If I used the custom template the number of lines of code gets increased for small changes.
For that, I gave merge request, kindly validate and merge it ASAP. We are using in our project.
Branch Name: "Custom property name instead of predefined itemName"

Already I gave merge request.

Can this be further expanded to allow customisation of both the Id field and the ItemName?
Also, will pull request be merged?

Still, it is not merged. Waiting for that. Of course, we can expand for ID also.

This is useful feature and should be merged as soon as possible

Fixed. Will be available in next release


run as a service

Hi! Great Script, works well in my setup with a Besound Core and Hue Bridge.
Since I am not a coder - could you add the possibility to store the selected Light /Group in the yaml file and a solution to start the listener immediately when the script runs? Then, I could start it as a service, and not from the command line.
Thanks a lot!"
BR
Dieter

Hi Dieter.
It is the plan to store the selected light/group. I just haven't gotten to it yet. Good idea with the listner auto start. I'll see if what I can do.
BR
Michael

Hi Dieter.
It is the plan to store the selected light/group. I just haven't gotten to it yet. Good idea with the listner auto start. I'll see if what I can do.
BR
Michael

Perfect, thanks!
BR
Dieter
—
Dr. Dieter Kohl
+43<PHONE_NUMBER>tel:+43<PHONE_NUMBER>
dieter.kohl<EMAIL_ADDRESS>EAA 1028610tel:1028610
Am 10.01.2021 um 17:21 schrieb Michael Jakobsen Højgaard<EMAIL_ADDRESS>
Hi Dieter.
It is the plan to store the selected light/group. I just haven't gotten to it yet. Good idea with the listner auto start. I'll see if what I can do.
BR
Michael
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/bogomhd/BeoLightControl/issues/2#issuecomment-757502370, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEJQC6GW7Y45TJBMY3EQCJDSZHHZBANCNFSM4V4Q2QYQ.

Perfect, thanks!
BR
Dieter
—
Dr. Dieter Kohl
+43<PHONE_NUMBER>tel:+43<PHONE_NUMBER>
dieter.kohl<EMAIL_ADDRESS>EAA 1028610tel:1028610
Am 10.01.2021 um 17:21 schrieb Michael Jakobsen Højgaard<EMAIL_ADDRESS>
Hi Dieter.
It is the plan to store the selected light/group. I just haven't gotten to it yet. Good idea with the listner auto start. I'll see if what I can do.
BR
Michael
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/bogomhd/BeoLightControl/issues/2#issuecomment-757502370, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEJQC6GW7Y45TJBMY3EQCJDSZHHZBANCNFSM4V4Q2QYQ.

Well the first thing is done... If you do a pull from github it should store the selected light/group in the yaml file the next time you select one. Let me know if you encounter any problems.
The auto start is for another day. :)

Well the first thing is done... If you do a pull from github it should store the selected light/group in the yaml file the next time you select one. Let me know if you encounter any problems.
The auto start is for another day. :)

Good job!
Works well here with BS Core, I‘ll for sure buy you a coffee once the autostart of the listener is working! 👍
BR
Dieter
Am 11.01.2021 um 22:12 schrieb Michael Jakobsen Højgaard<EMAIL_ADDRESS>
Well the first thing is done... If you do a pull from github it should store the selected light/group in the yaml file the next time you select one. Let me know if you encounter any problems.
The auto start is for another day. :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/bogomhd/BeoLightControl/issues/2#issuecomment-758227793, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEJQC6HKF2YQPOGZE26EHDDSZNSUDANCNFSM4V4Q2QYQ.

Good job!
Works well here with BS Core, I‘ll for sure buy you a coffee once the autostart of the listener is working! 👍
BR
Dieter
Am 11.01.2021 um 22:12 schrieb Michael Jakobsen Højgaard<EMAIL_ADDRESS>
Well the first thing is done... If you do a pull from github it should store the selected light/group in the yaml file the next time you select one. Let me know if you encounter any problems.
The auto start is for another day. :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/bogomhd/BeoLightControl/issues/2#issuecomment-758227793, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEJQC6HKF2YQPOGZE26EHDDSZNSUDANCNFSM4V4Q2QYQ.

So I finally go to it... I made it possible to launch the listner directly by using the option "-l".
Like:
./BeoLightControl.py -l
Let me know if it works out!

So I finally go to it... I made it possible to launch the listner directly by using the option "-l".
Like:
./BeoLightControl.py -l
Let me know if it works out!

Great stuff – works flawlessly!
Thanks for sharing your work and let me know how to buy you a coffee 😉
BR,
Dieter
Von: Michael Jakobsen Højgaard<EMAIL_ADDRESS>Antworten an: bogomhd/BeoLightControl<EMAIL_ADDRESS>Datum: Donnerstag, 21. Jänner 2021 um 20:55
An: bogomhd/BeoLightControl<EMAIL_ADDRESS>Cc: Dieter Kohl<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Betreff: Re: [bogomhd/BeoLightControl] run as a service (#2)
So I finally go to it... I made it possible to launch the listner directly by using the option "-l".
Like:
./BeoLightControl.py -l
Let me know if it works out!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/bogomhd/BeoLightControl/issues/2#issuecomment-764898593, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEJQC6D3IVLLM3SQI42BD5DS3CBD5ANCNFSM4V4Q2QYQ.

Great stuff – works flawlessly!
Thanks for sharing your work and let me know how to buy you a coffee 😉
BR,
Dieter
Von: Michael Jakobsen Højgaard<EMAIL_ADDRESS>Antworten an: bogomhd/BeoLightControl<EMAIL_ADDRESS>Datum: Donnerstag, 21. Jänner 2021 um 20:55
An: bogomhd/BeoLightControl<EMAIL_ADDRESS>Cc: Dieter Kohl<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Betreff: Re: [bogomhd/BeoLightControl] run as a service (#2)
So I finally go to it... I made it possible to launch the listner directly by using the option "-l".
Like:
./BeoLightControl.py -l
Let me know if it works out!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/bogomhd/BeoLightControl/issues/2#issuecomment-764898593, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEJQC6D3IVLLM3SQI42BD5DS3CBD5ANCNFSM4V4Q2QYQ.

Great that it worked! Raincheck on the coffee! ;)


scripts/start.py (example) fails with error

File "start.py", line 53, in <module>
   builder.run( just_build = True )
 File "/Users/dmobley/anaconda/lib/python2.7/site-packages/solvationtoolkit-0.2.1.dev0-py2.7.egg/solvationtoolkit/solvated_mixtures.py", line 141, in run
   self.build_monomers()
 File "/Users/dmobley/anaconda/lib/python2.7/site-packages/solvationtoolkit-0.2.1.dev0-py2.7.egg/solvationtoolkit/solvated_mixtures.py", line 158, in build_monomers
   mol2tosdf.writeSDF(mol2_filename, sdf_filename, mol_name) # Temporarily called here (see comment below)
UnboundLocalError: local variable 'mol_name' referenced before assignment

Troubleshooting.

Ah, OK, I see. The problem is that the new location of writeSDF occurs before  mol_name is defined in that function. I'll fix both at the same time, @camizanette .

OK. Thanks!

Resolved THIS problem with #47 . There is still another issue with start.py which I will open separately.


⚠ Bofrost.be has degraded performance

In 9e0ac91, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2150 ms

Resolved: Bofrost.be performance has improved in f79758d.


Clean up class libraries

Noticed we're using both clsx and classnames across the monorepo. This ticket is to clean up the libs / apps and get rid of one of the libraries, as they both do exactly the same.

no clsx present in the repo anymore


Stopped putting images into the email

I think Kijiji did something different with the images, so the picture doesn't make it into the email anymore.
'Image': ''
"data-src" still points to the actual image, but "src" only to the placeholder image. What goes to the email is the content of "src". So - no pic of the item in the email...
I can't code. But I'll try.
I'll keep googling and hopefully figure it out. But if anyone has a fix - great!

Ok. I got it working. I don't think it's right - but I get images in the emails now... which is fixed for me. I figured first I need to find the URL in the "data-src" thingy, and then I need to modify the "Image" contents of the database.
I modified "kijiji_ad.py"
Added the following into "locate_info" block:
self.info["DataSource"] = str(self.ad.find('img').get('data-src'))
Then I modified the "# Parse remaining ad information" block:
elif key == "Image":
                    self.info[key] = ''

elif key not in ["DataSource", "Details", "Date"]:

I don't think the double quotes work right - but the image still shows up. Hope this helps someone.
Hopefully someone will post the right way to do it.


fix #18

integrates the @mitkonikov's solution, in issue #18

So we don't want to do PR reviews anymore?

my bad, sorry
What should we do before merging each PR?

Is it possible to make it a hard requirement in GitHub? Should we?

Yes, it's possible to define branch protection rules in GitHub and I think we definitely should, @bhoov. Even for small changes, it's worth to have another pair of eyes look over code.
Maybe something like at least one review required? Or if you want to look over every PR then you can also define that at least one review is required from the author.

Last night i made you both "collaborators" on this repo when I realized I could not request either of you to be "reviewers" on my own PR. Also, between my job, school, and an 18 month old I'm barely keeping up with both of your paces of development 🙈.
I am happy with a rule that says we need at least 1 other reviewer for each PR. I do not need to be that reviewer, but I will try to monitor all PRs in these early stages of development.
Additionally, what do you think of the following plan:

Protecting the main branch. This will be our primary branch for development
Making a new deploy branch that will contain the state of the code that is currently deployed to the marketplace

Also, between my job, school, and an 18 month old I'm barely keeping up with both of your paces of development 🙈.

Yeah, totally understandable. In the long-term I will also not be able to keep up this pace, this is probably just in the beginning phase until we reach a point that is somewhat stable. And even for now, I'm in uni and each week might be different with regards to how much time I can spare for a bit of development on the side. I mean, no ones pays us to do this ;)

Additionally, what do you think of the following plan:

I like the plan of having separate branches. Just out of convention in other projects, what do you think about using a main and a dev branch instead? Where the main branch is tagged and each tag corresponds to one release on the marketplace. It doesn't have any advantages (maybe just a tiny one that main is usually the default branch and therefore when viewing the repo, you see production-ready code and not dev code. But that's really not too important).
Then, from time to time we can do a Continuous Release 0.x, which is just a PR from dev to main. So

squash and merge from feature/my-branch or fix/my-branch to dev
merge commit from dev to main and after that deploy to marketplace. At MaMpf, we've even set it up such that each tag creation on main triggers a webhook to our server and there it automatically redeploys the website.

Note that at MaMpf, I've also aggregated some conventions that we use for Git in a wiki entry. E.g. it also includes the convention for commit messages (which I use for PR titles as well, e.g. capitalize the start, not too long, in imperative form).

Also note that with us being collaborators now, @VladimirFokow, we can directly create branches on this repo (such that I don't have to add remote repos/forks to my git remote -v list to checkout the branch ;))


Extend escalating remediation e2e test

Use 2 remediations, the 1st one is a dummy remediation doing nothing, which will time out after minimum timeout

switched to draft on order to skip OpenshiftCI while getting the k8s e2e test green...

somehow the k8s e2e seems to have trouble with the dummy CR(D)s... will investigate in a follow up, I'd like to get this in for code freeze

/lgtm


drivers: sensor: lis2mdl: Add direct trigger option

Allows data ready trigger to be called directly from interrupt
context.
Signed-off-by: Corey Wharton<EMAIL_ADDRESS>

My project has modified a number of sensor drivers to support data ready triggers called for the interrupt to avoid the extra context switch. This PR is a test to gauge support for adding this kind of feature upstream to other sensor drivers.

Sorry, I have just seen this PR, which is old. To be honest I'm not sure it is a good practice to call the interrupt directly in the context of the interrupted thread. I find much safer to schedule a specific thread to handle this.

I actually agree, but currently the only two options for handling thread in most drivers are the system workq or a dedicated thread. You can schedule work in a different thread from the handler using those options, but this results in an additional context switch: interrupt -> sensor handler thread -> offload thread. This extra context switch can be a huge cost for high frequency interrupts. A direct option allows the application more flexibility to use a single thread not only to offload trigger processing but any application logic in a single thread context, at the cost of limiting what work is allowed in the trigger handler itself. I acknowledge it's not appropriate for all cases, especially where the driver does some work itself that uses kernel facilities before calling the handler e.x. to determine the interrupt source.

Sorry, I have just seen this PR, which is old. To be honest I'm not sure it is a good practice to call the interrupt directly in the context of the interrupted thread. I find much safer to schedule a specific thread to handle this.

I actually agree, but currently the only two options for handling thread in most drivers are the system workq or a dedicated thread. You can schedule work in a different thread from the handler using those options, but this results in an additional context switch: interrupt -> sensor handler thread -> offload thread. This extra context switch can be a huge cost for high frequency interrupts. A direct option allows the application more flexibility to use a single thread not only to offload trigger processing but any application logic in a single thread context, at the cost of limiting what work is allowed in the trigger handler itself. I acknowledge it's not appropriate for all cases, especially where the driver does some work itself that uses kernel facilities before calling the handler e.x. to determine the interrupt source.

Sure, there is extra context switch. But since this is the first driver which will do something like this I would recommend befor doing that to tra to open a request in the community to discuss this topic. I'm not sure I'm the right person to neither agree nor disagree on this approach, but I feel that the impact of such a change may extend outside the driver context. Can you open a request on the community (maybe enhancement request) just to get the proper people into discussion? The request is not for this driver in particula, but for all driver which may benefit of a more general "direect interrupt" approach.

Sorry, I have just seen this PR, which is old. To be honest I'm not sure it is a good practice to call the interrupt directly in the context of the interrupted thread. I find much safer to schedule a specific thread to handle this.

I actually agree, but currently the only two options for handling thread in most drivers are the system workq or a dedicated thread. You can schedule work in a different thread from the handler using those options, but this results in an additional context switch: interrupt -> sensor handler thread -> offload thread. This extra context switch can be a huge cost for high frequency interrupts. A direct option allows the application more flexibility to use a single thread not only to offload trigger processing but any application logic in a single thread context, at the cost of limiting what work is allowed in the trigger handler itself. I acknowledge it's not appropriate for all cases, especially where the driver does some work itself that uses kernel facilities before calling the handler e.x. to determine the interrupt source.

Sure, there is extra context switch. But since this is the first driver which will do something like this I would recommend befor doing that to tra to open a request in the community to discuss this topic. I'm not sure I'm the right person to neither agree nor disagree on this approach, but I feel that the impact of such a change may extend outside the driver context. Can you open a request on the community (maybe enhancement request) just to get the proper people into discussion? The request is not for this driver in particula, but for all driver which may benefit of a more general "direect interrupt" approach.

I'm not sure I'm the right person to neither agree nor disagree on this approach, but I feel that the impact of such a change may extend outside the driver context. Can you open a request on the community (maybe enhancement request) just to get the proper people into discussion? The request is not for this driver in particular, but for all driver which may benefit of a more general "direect interrupt" approach.

Fair point, I will do this when I get a chance.

I'm not sure I'm the right person to neither agree nor disagree on this approach, but I feel that the impact of such a change may extend outside the driver context. Can you open a request on the community (maybe enhancement request) just to get the proper people into discussion? The request is not for this driver in particular, but for all driver which may benefit of a more general "direect interrupt" approach.

Fair point, I will do this when I get a chance.


Make python version on poetry.dependencies less restrictive

Hi, this is a beautiful template that I'm sure many of us are grateful for.
One issue though, would you mind changing the python version dependency on poetry.dependencies in pyproject.toml, i.e. https://github.com/BrianPugh/python-template/blob/main/pyproject.toml#L30, to be less restrictive?
Instead of ">=3.8", change it to "^3.8". This causes an issue as ">=3.8" is fundamentally different from "^3.8".

>=3.8 means "anything more recent than python3.8, including python4 if it ever exists."
^3.8 means "anything more recent than python3.8, but less than python4."
I take the same opinion as Henry Shreiner in his blog post on upper bound version constraints. Namely, it generally just causes systemic issues to preemptively issue an upper bound version constraint on your library.


TypeError: Data location must be "storage" or "memory" for constructor parameter, but "calldata" was given.

The simple mint example provided in README.md causes the following error in Remix.
TypeError: Data location must be "storage" or "memory" for the constructor parameter, but "calldata" was given.
The parameters of the constructor provided in the example should be changed as follows.

constructor(address[] memory chipAddresses, uint256[] memory tokenIds)

Thanks

Thanks for bringing this up. Fixed this and a couple other issues with the readme

Thanks for applying this issue.


Move to mailman organization

I managed to get https://github.com/mailman and I'm planning to move the repo there today. There will probably be some minor changes required in the repo after the move.

Ahh, thanks for the heads up.

Transferred. Sorting out the rename in Travis now.

Travis rename complete, I've subbed out all links I found in the repo.


input() command for the discord bot

Hey Makers of the I run Code Bot!
Just wanted to say I admire the work you have put into the bot, it works amazingly on my server!
But i have a question/request:
Would it be possible to integrate the input() command from python into the bot so that when running the code, the bot asks for input to enter in its code?
Thank you very much
Morgan Penny

At the moment this is not possible because the bot itself doesn't really know the code it's executing. It just hands it through to the piston-engine that runs the code. It then just receives the output and prints that to discord.
So the bot doesn't know that there is an input() in the code and therefore can't ask for it.
The only way you can currently kinda do that is by using the arguments feature.
For Python this would look like this:
Instead of
/run python
name=input()
print('Hello', name)

do
/run python
Oceanm4ster
import sys
name=sys.argv[1]
print('Hello', name)

I'm pretty sure the piston engine could not even handle input() (or similar commands) currently and would also need a significant overhaul in order for this to work. The error you get when you use it in your code comes from the piston-engine and not from the bot.

So sadly it's very unlikely to happen in the near future.
Still - thanks for your feedback and have fun coding.

ive thought about and looked into what it would take to do this and it was just too major of a project without any guarantees that it would even work. the primary issue is that code executed via piston isn't interactive, that is to say there's no tty/pty attached to stdin. to make this work, there would need to be something emulating an interactive session. because of the execution model, security policies, and resource constraints that piston uses to safely and quickly execute code, like brtwrst said, this would require a massive overhaul of all that and i think doesn't rank high on piston priorities at the moment.

Ok no problem, thanks anyway for considering!
Morgan Penny

On 19. Oct 2020, at 16:35, Brian Seymour<EMAIL_ADDRESS>wrote:

ive thought about and looked into what it would take to do this and it was just too major of a project without any guarantees that it would even work. the primary issue is that code executed via piston isn't interactive, that is to say there's no tty/pty attached to stdin. to make this work, there would need to be something emulating an interactive session. because of the execution model, security policies, and resource constraints that piston uses to safely and quickly execute code, like brtwrst said, this would require a massive overhaul of all that and i think doesn't rank high on piston priorities at the moment.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Adding images to Utopia always shows "Assets replaced" popoup

Problem
When adding an image to Utopia by e.g. adding it to the file browser, we show a toast that starts with "Assets replaced". However, this happens also when an image is added to the editor for the first time - so there is no replacing involved.
We introduced this toast to indicate that image assets that have been replaced may need an editor update. However, it appears that now this toast fires always:
(in image-insert.ts: )
export function fileResultUploadAction(fileResult: FileResult, targetPath: string): EditorAction {
  switch (fileResult.type) {
    case 'IMAGE_RESULT': {
      const afterSave = EditorActions.saveImageReplace()

where saveImageReplace invokes
case 'SAVE_IMAGE_REPLACE': {
          const toastAction = showToast(
            notice(
              'Assets replaced. You may need to reload the editor to see changes.',
              'WARNING',
              true,
            ),
          )

@enidemi I think this is a duplicate of #1218 - can you confirm?

It is the same issue. Fixed in https://github.com/concrete-utopia/utopia/pull/1243.


change variable name ,make it easy to understand

Codecov Report

Merging #2647 into dev will increase coverage by 0.08%.
The diff coverage is 66.66%.

@@             Coverage Diff              @@
##                dev    #2647      +/-   ##
============================================
+ Coverage     36.21%   36.29%   +0.08%
- Complexity     2476     2480       +4
============================================
  Files           431      431
  Lines         19893    19893
  Branches       2421     2421
============================================
+ Hits           7204     7220      +16
+ Misses        12048    12029      -19
- Partials        641      644       +3

Impacted Files
Coverage Δ
Complexity Δ

...che/dolphinscheduler/alert/runner/AlertSender.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...apache/dolphinscheduler/alert/utils/Constants.java
0.00% <ø> (ø)
0.00 <0.00> (ø)

...olphinscheduler/alert/plugin/EmailAlertPlugin.java
54.00% <100.00%> (ø)
5.00 <1.00> (ø)

...phinscheduler/common/plugin/FilePluginManager.java
41.46% <100.00%> (ø)
6.00 <1.00> (ø)

...he/dolphinscheduler/common/thread/ThreadUtils.java
68.25% <0.00%> (-9.53%)
13.00% <0.00%> (-1.00%)

...nscheduler/server/entity/TaskExecutionContext.java
79.20% <0.00%> (+5.94%)
56.00% <0.00%> (+3.00%)

.../server/worker/processor/TaskExecuteProcessor.java
36.66% <0.00%> (+26.66%)
3.00% <0.00%> (+2.00%)

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 daea87a...191a114. Read the comment docs.


[WIP] ShaderParameters Removal

Moves the functionality of ShaderParameters to the Nodes, making the system more transparent.
This is still a WIP, and this PR has been made to get feedback.
@emanuele3d What do you think? Should I proceed forward like this, or should I make some changes? Easier if you review one or two ShaderParameters, so that you don't have to type the same comments 20 times :D

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Uh oh, something went wrong with the build. Need to check on that

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Uh oh, something went wrong with the build. Need to check on that

Review well underway. Reviewed 17 out of 20 commits so far. Should be able to review the remaining three sometimes this evening. 25 comments so far: many are just repeated but there are also some issue that will need careful consideration.

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

I just went through all the commits since my last review. All the cleanup work is good, thank you @vampcat for it. Can you solve the conflicts github reports?
Also, what are the outstanding issues?  You haven't tackled yet the issue of some things having to happen not just on initialization but when some conditions arise, have you?
This PR is getting very difficult to follow, especially after the rebase but not just because of that. This is one of the reasons I recommend to work on fewer files at the time. We could have gone through, say, the sky nodes/shader parameters alone, worked out a bunch of issues on those and then applied that experience to the next set of related nodes/shader parameters.
Something to keep in mind for future PRs.

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Closing in favour of #2981, to avoid the messy rebase history.


bump GH runners to ubuntu-20.04

Description of your changes
As we are trying to get a v0.1.x build out with #11, we're seeing the GH Actions for that branch queued forever.  This is probably due to using an old version of the GH runner as described in https://github.com/orgs/community/discussions/52421#discussioncomment-5568826.
This PR tries to bump to the newer version of ubuntu-20.04.  Fingers crossed that is the only stale out of date part of the CI in this old release branch 🙏
I have:

[x] Read and followed Crossplane's contribution process.
[x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested
CI will test this 😉

The lint step failed due to what looks like old tooling and the e2e tests failed waiting for Crossplane itself to come up.  I don't think it's worth debugging these ancient e2e tests when the errors don't look directly related to the changes in this branch 😇


What is the common part of the secret strings?

It seems that the secret strings always shares a common part (the last 48 bytes). What is it and can it be shared publically or does the whole string is private information?

@DBLouis For security reasons, the library encrypts (w/ AEAD) the message with a randomly generated key. This key is then secret shared.
However, during the reconstruction phase we need the ciphertext to recover the plaintext again.

can it be shared publically or does the whole string is private information?

The second part can, for most definitions, be considered public. The first 33 bytes (really only bytes 2--33) are really secret.

Assuming that this question has been answered. Feel free to reopen if something is still unclear.


unknown encoding: 8bit

hi i currently use your repo to get subject from email header and encountered this error
unknown encoding: 8bit
Here is the full email content notepad
Here is the subject that cause error
Subject: Safebook =?utf-8?Q?G=E1=BB=ADi?= link tham
 =?utf-8?Q?d=E1=BB=B1_H=E1=BB=99i_th=E1=BA=A3o_?=
 =?utf-8?Q?thu=E1=BA=BF?= online =?utf-8?Q?ng=C3=A0y?= 18/03

And when using your repo i still get lost space in subject header
The correct header :
Safebook Gửi link tham dự Hội thảo thuế online ngày 18/03
After using your repo to get email subject i got this header
SafebookGửi link thamdự Hội thảo thuế onlinengày 18/03
Its lost space and make the subject look very unprofessional
Can you check the error? Thanks

Fixed.
Please use the master branch.

hi thanks for 8bit fix and i had use the lastest version
but when i use the repo to get the header i still encounter the error
The correct header :
Safebook Gửi link tham dự Hội thảo thuế online ngày 18/03
After using your repo to get email subject i got this header
SafebookGửi link thamdự Hội thảo thuế onlinengày 18/03
Its lost space between character
Can you check the error? Thanks


Copy-PnpFile - Copies containing folders of files.

Reporting an Issue or Missing Feature
We have a requirement of copying files from one document library to another document library with different site collections. However, in source document library, we have files inside nested folders, but we want to copy all files not folders to the target document library.
When we are trying to copy files, containing folders are also getting copied to target library.
Expected behavior
Only files should get copied to the target library.
Actual behavior
When we are trying to copy files, containing folders are also getting copied to target library.
Steps to reproduce behaviour
Copy-PnPFile -SourceUrl "Source Document URL" -TargetUrl "Target Library URL" -Force;
What is the version of the Cmdlet module you are running?

3.29.2101.0
SharePointPnPPowerShellOnline
PSGallery
Microsoft 365 Patterns and Practices PowerShell Cmdlets for SharePoint Online

Which operating system/environment are you running PnP PowerShell on?

[x] Windows
[ ] Linux
[ ] MacOS
[ ] Azure Cloud Shell
[ ] Azure Functions
[ ] Other : please specify

Hi @Bhushan12986,
Copy-PnPFile will copy a file or a folder (see documentation). Have you tried any conditional approaches with maybe the FileSystemObjectType?

Hi @veronicageek
We have exported source library details to a CSV file and we are reading data from it only as we need to update some metadata/properties which is also part of the same CSV file of copied files. We are using Path and Name fields' combination as source document URL as below, still containing folders are getting copied to the target document library.
$csvSourceFile = Import-Csv $sourceCSVFile; ForEach ($Row in $csvSourceFile) { 	Copy-PnPFile -SourceUrl "/$($Row.Path)/$($Row.Name)" -TargetUrl "$($destinationDocumentLibrary)" -Force; }

@Bhushan12986 - Are you explicitly giving each file name in your csv file? If not, please use the FileSystemObjectType to target only the files and not the folders.

Hi @veronicageek,
Yes, we are reading each file name explicitly from CSV file. Path and Name are columns from CSV itself for file path and name respectively. CSV contains only details of the files, it does not contain any row of folder details, we have removed folder rows from it.
We also tried with below code but output is same, it is copying containing folders too.
#Get All Files from the document library - In batches of 500
Write-host -ForegroundColor Magenta "Getting All Documents from Source Document Library.";
$sourceDocuments = Get-PnPListItem -List $sourceLibrary.Title -PageSize 500 -Web $sourceWeb -Connection $SourceConn;

#Get the Data from CSV for reference
Write-host -ForegroundColor Yellow "Getting Records from CSV.";
$csvSourceFiles = Import-Csv $sourceCSVFile;

ForEach ($Row in $csvSourceFiles) {
  Write-host -ForegroundColor Magenta "Getting details of file name: $($Row.Path)/$($Row.Name)";
  $sourceDocument = $sourceDocuments | Where-Object { $_.ID -eq $Row.ID };

  Copy-PnPFile -SourceUrl "$($sourceDocument.FieldValues.FileRef)" -TargetUrl "$($destinationDocumentLibrary)" -Force;
}

Also, is it possible to return copied document using Copy-PnPFile to get the ID of the new copied document in order to update metadata/properties?

Moving into a discussion as this is more related to a script and not an issue with the cmdlet.


Added ability to change highlight and background colours in MolDraw2D.

@DavidACosgrove - a version of this ended up being added in a different PR.
Here's are some examples of its use

background color: https://github.com/rdkit/rdkit/blob/master/Code/GraphMol/MolDraw2D/test1.cpp#L684
highlight color: https://github.com/rdkit/rdkit/blob/master/Code/GraphMol/MolDraw2D/test1.cpp#L1769

It is also available from Python.
If you agree that the above is equivalent to this PR, please go ahead and close the PR (or let me know and I'll close it)

Hi Greg,
This does look like a nice tidy way of doing it.  The syntax of using
drawOptions like that had escaped me. It is nicely self-explanatory as to
what is going on. By all means close the other PR - it might be easier if
you did it as I assume you know how whereas I would have to poke about a
bit in the documentation.  Thanks for looking at this again. I will mention
it to the MedChemica boys next time I see them.
See you next week,
Dave
On Wed, Sep 13, 2017 at 12:45 PM, Greg Landrum<EMAIL_ADDRESS>wrote:

@DavidACosgrove https://github.com/davidacosgrove - a version of this
ended up being added in a different PR.
Here's are some examples of its use

background color: https://github.com/rdkit/rdkit/blob/master/Code/
GraphMol/MolDraw2D/test1.cpp#L684
https://github.com/rdkit/rdkit/blob/master/Code/GraphMol/MolDraw2D/test1.cpp#L684
highlight color: https://github.com/rdkit/rdkit/blob/master/Code/
GraphMol/MolDraw2D/test1.cpp#L1769
https://github.com/rdkit/rdkit/blob/master/Code/GraphMol/MolDraw2D/test1.cpp#L1769

It is also available from Python.
If you agree that the above is equivalent to this PR, please go ahead and
close the PR (or let me know and I'll close it)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rdkit/rdkit/pull/1430#issuecomment-329142548, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIxdFhBhdVsjE8_rHFDS6pZgpcDMagUjks5sh8BjgaJpZM4NlOoP
.

--
David Cosgrove
Freelance computational chemistry and chemoinformatics developer
http://cozchemix.co.uk


How to control attention score of individual adapters in adapter fusion?

Hi!
I am trying/wondering how we can make the attention score corresponding to particular adapter 0 in adapter fusion.
Any suggestion/insights in this direction will be appreciated.

This issue has been automatically marked as stale because it has been without activity for 90 days. This issue will be closed in 14 days unless you comment or remove the stale label.


Crash with example code

I've downloaded the entire repo to inspect an example of how to start off.
I ran gradlew block:runClient
After downloading, it crashes:
[21:10:58] [main/INFO]: Extra: []
[21:10:58] [main/INFO]: Found and added coremod: nova.wrapper.mc1710.NovaMinecraftCore
[21:10:58] [main/INFO]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/Stephan Taljaard/.gradle/caches/minecraft/assets, --assetIndex, 1.7.10, --accessToken, {REDACTED}, --version, 1.7.10, --tweakClass, cpw.mods.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[21:10:58] [main/INFO]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
[21:10:58] [main/INFO]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
[21:10:58] [main/INFO]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[21:10:58] [main/INFO]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
[21:10:58] [main/INFO]: Forge Mod Loader version <IP_ADDRESS>0 for Minecraft 1.7.10 loading
[21:10:58] [main/INFO]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_31, running on Windows 8.1:amd64:6.3, installed at C:\Program Files\Java\jdk1.8.0_31\jre
[21:10:58] [main/INFO]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
[21:10:58] [main/INFO]: Found a command line coremod : nova.wrapper.mc1710.NovaMinecraftCore
[21:10:58] [main/INFO]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
[21:10:58] [main/INFO]: Injecting location in coremod cpw.mods.fml.relauncher.FMLCorePlugin
[21:10:58] [main/INFO]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
[21:10:58] [main/INFO]: Injecting location in coremod nova.wrapper.mc1710.NovaMinecraftCore
[21:10:58] [main/INFO]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[21:10:58] [main/INFO]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
[21:10:58] [main/INFO]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[21:10:58] [main/INFO]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[21:10:58] [main/INFO]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[21:10:58] [main/INFO]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[21:10:58] [main/ERROR]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
[21:10:59] [main/ERROR]: FML appears to be missing any signature data. This is not a good thing
[21:10:59] [main/INFO]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[21:10:59] [main/INFO]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[21:10:59] [main/INFO]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker
[21:11:00] [main/INFO]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[21:11:00] [main/INFO]: Remapping AccessTransformer rules...
[21:11:00] [main/INFO]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker
[21:11:00] [main/INFO]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker
[21:11:00] [main/INFO]: Launching wrapped minecraft {net.minecraft.client.main.Main}
[21:11:00] [main/INFO]: Setting user: Player328
[21:11:01] [main/INFO]: [nova.wrapper.mc1710.asm.transformers.TileEntityTransformer:transform:13]: [NOVA] Transforming TileEntity class for dynamic instance injection.
[21:11:01] [main/INFO]: [nova.wrapper.mc1710.asm.transformers.TileEntityTransformer:transform:21]: [NOVA] Lookup [aor.c(Ldh;)Laor;] failed. You are probably in a deobf environment.
[21:11:01] [main/INFO]: [nova.wrapper.mc1710.asm.transformers.TileEntityTransformer:transform:29]: [NOVA] Transforming method createAndLoadEntity
[21:11:02] [Client thread/INFO]: LWJGL Version: 2.9.1
[21:11:03] [Client thread/INFO]: Attempting early MinecraftForge initialization
[21:11:03] [Client thread/INFO]: MinecraftForge v<IP_ADDRESS>0 Initialized
[21:11:03] [Client thread/INFO]: Replaced 183 ore recipies
[21:11:03] [Client thread/INFO]: Completed early MinecraftForge initialization
[21:11:03] [Client thread/INFO]: Searching C:\Downloads\NOVA-Example-master\NOVA-Example-master\block\run\mods for mods
[21:11:06] [Client thread/INFO]: Forge Mod Loader has identified 5 mods to load
[21:11:07] [Client thread/INFO]: Attempting connection with missing mods [mcp, FML, Forge, novapreloader, nova] at CLIENT
[21:11:07] [Client thread/INFO]: Attempting connection with missing mods [mcp, FML, Forge, novapreloader, nova] at SERVER
[21:11:07] [Client thread/INFO]: [nova.wrapper.mc1710.NovaMinecraftPreloader:load:74]: Successfully hacked 'org.apache' out of launcher exclusion
[21:11:07] [Client thread/INFO]: [nova.wrapper.mc1710.NovaMinecraftPreloader:lambda$registerResourcePacks$5:151]: Registered NOVA jar resource pack: file:/C:/Downloads/NOVA-Example-master/NOVA-Example-master/block/build/libs/block-0.1.jar
[21:11:07] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:NOVA, block-0.1.jar
[21:11:07] [Client thread/WARN]: Unable to parse metadata section of resourcepack: block-0.1.jar
net.minecraft.client.resources.ResourcePackFileNotFoundException: 'pack.mcmeta' in ResourcePack 'C:\Downloads\NOVA-Example-master\NOVA-Example-master\block\build\libs\block-0.1.jar'
	at net.minecraft.client.resources.FileResourcePack.getInputStreamByName(SourceFile:40) ~[FileResourcePack.class:?]
	at net.minecraft.client.resources.AbstractResourcePack.getPackMetadata(SourceFile:55) ~[AbstractResourcePack.class:?]
	at net.minecraft.client.resources.LanguageManager.parseLanguageMetadata(LanguageManager.java:50) [LanguageManager.class:?]
	at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:611) [Minecraft.class:?]
	at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:234) [FMLClientHandler.class:?]
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:480) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:867) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(SourceFile:148) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_31]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_31]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_31]
	at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_31]
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
	at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
	at GradleStart.main(Unknown Source) [start/:?]
[21:11:07] [Client thread/INFO]: Processing ObjectHolder annotations
[21:11:07] [Client thread/INFO]: Found 341 ObjectHolder annotations
[21:11:07] [Client thread/INFO]: Configured a dormant chunk cache size of 0
[21:11:08] [Client thread/INFO]: Applying holder lookups
[21:11:08] [Client thread/INFO]: Holder lookups applied
[21:11:08] [Client thread/ERROR]: Fatal errors were detected during the transition from PREINITIALIZATION to INITIALIZATION. Loading cannot continue
[21:11:08] [Client thread/INFO]: [net.minecraft.client.Minecraft:displayCrashReport:349]: ---- Minecraft Crash Report ----
// Would you like a cupcake?

Time: 2015/07/12 9:11 PM
Description: Initializing game

java.lang.NullPointerException: Initializing game
	at cpw.mods.fml.common.LoadController.printModStates(LoadController.java:267)
	at cpw.mods.fml.common.LoadController.transition(LoadController.java:131)
	at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:515)
	at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:239)
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:480)
	at net.minecraft.client.Minecraft.run(Minecraft.java:867)
	at net.minecraft.client.main.Main.main(SourceFile:148)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
	at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
	at GradleStart.main(Unknown Source)

A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
	at cpw.mods.fml.common.LoadController.printModStates(LoadController.java:267)
	at cpw.mods.fml.common.LoadController.transition(LoadController.java:131)
	at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:515)
	at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:239)
	at net.minecraft.client.Minecraft.startGame(Minecraft.java:480)

-- Initialization --
Details:
Stacktrace:
	at net.minecraft.client.Minecraft.run(Minecraft.java:867)
	at net.minecraft.client.main.Main.main(SourceFile:148)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
	at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
	at GradleStart.main(Unknown Source)

-- System Details --
Details:
	Minecraft Version: 1.7.10
	Operating System: Windows 8.1 (amd64) version 6.3
	Java Version: 1.8.0_31, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 262922952 bytes (250 MB) / 349700096 bytes (333 MB) up to<PHONE_NUMBER> bytes (1808 MB)
	JVM Flags: 0 total;
	AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
	IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
	FML: ~~ERROR~~ NullPointerException: null
	Launched Version: 1.7.10
	LWJGL: 2.9.1
	OpenGL: GeForce GT 555M/PCIe/SSE2 GL version 4.5.0 NVIDIA 350.12, NVIDIA Corporation
	GL Caps: Using GL 1.3 multitexturing.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Anisotropic filtering is supported and maximum anisotropy is 16.
Shaders are available because OpenGL 2.1 is supported.

	Is Modded: Definitely; Client brand changed to 'fml,forge'
	Type: Client (map_client.txt)
	Resource Packs: []
	Current Language: English (US)
	Profiler Position: N/A (disabled)
	Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
	Anisotropic Filtering: Off (1)
[21:11:08] [Client thread/INFO]: [net.minecraft.client.Minecraft:displayCrashReport:359]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Downloads\NOVA-Example-master\NOVA-Example-master\block\run\.\crash-reports\crash-2015-07-12_21.11.08-client.txt

Related to #14?

While I cannot reproduce this error while running NOVA from IDEA, it can be reproduced by running gradle block:runClient. Attaching a debugger to this yields the stacktrace http://hastebin.com/ezumiziyel.txt
DOWN WITH EXCEPTION EATING

Well, now that you've mentioned running from IDEA, I ran gradle block:runClient in a cmd only, if that makes a difference...

This is the error:
net.minecraft.client.resources.ResourcePackFileNotFoundException: 'pack.mcmeta' in ResourcePack 'C:\Downloads\NOVA-Example-master\NOVA-Example-master\block\build\libs\block-0.1.jar'

We have to include pack.mcmeta virtually into the mod's resource, or at least have NOVA "fake the JSON into the system".
Does this happen both on MC 1.7 and 1.8?

No. I made a pack.mcmeta and it was the same crash. This is unrelated.

It happens to me when I try to use gradle to launch an empty example(worldgen). I'll try to port the whole thing to nova-gradle and see if it helps.

I had the same problem. It was due to binary incompatibility of wrapper and core. I don't know why it wouldn't refresh. We need to implement SemVer ASAP.

We are using semver. We just haven't released yet.

I know we are using SemVer but at the same type we are in null zone. We need to reflect breaking changes in at least in Minor version.

Once we release 0.1.0 this should start. Once 0.2.0 breaking changes should be a minor increase, with patch releases for bug fixes and additions.


 This includes everything needed to ship a cross-platform, multi-architecture web application.

Plan:

Create Dockerfile

This can be done by following the guide: Kickstart Your Spring Boot Application Development

Create docker-compose file

Kindly assign this to me.

Hi @youngInnovator
Assigned, thank you for contributing

Addressed in #46

This looks like a good option, I am slightly worried that this approach will download dependencies every time the container is created from the image. What do you think, would it be better if monolithic apps are built using the same approach as all other microservices - using docker/build.sh script?
The script is already available here - https://github.com/aabarmin/epam-microservices-training-2022/blob/main/buildscripts/build.sh
To add support of a new application, it is necessary to add a line like:
docker build \
    --build-arg module_path=monolithic/monolithic-layered \
    -t monolithic/monolithic-layered:latest \
    -f ./Dockerfile ..

This script will automatically build a jar artifact from the Spring Boot application and next generate a Docker image.

Resolved in #46