text:
Improve error reporting for case files.

Description
If a case file's parameter is assigned a value of the wrong type, MFC will now correctly report the mismatching field. Previously, it would point to the next parameter, even if it typechecks.
Fixes #424
Type of change
Please delete options that are not relevant.

New feature (non-breaking change which adds functionality)

Scope

[x] This PR comprises a set of related changes with a common goal

If you cannot check the above box, please split your PR into multiple PRs that each have a common goal.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Provide instructions so we can reproduce.
Please also list any relevant details for your test configuration

[x] Assertions that ensure that typechecking logic covers all parameters
[x] Modifying and running a case file with (in)correct values.

Test Configuration:

What computers and compilers did you use to test this:
My personal laptop:

Ryzen 7 7840U
GCC 11.4.0

Checklist

[x] I have added comments for the new code
[x] I have made corresponding changes to the documentation (docs/) -- (I caught a typo while grepping through the codebase: Loginal -> Logical)
[x] I have added regression tests to the test suite so that people can verify in the future that the feature is behaving as expected
[x] I ran ./mfc.sh format before committing my code
[x] New and existing tests pass locally with my changes, including with GPU capability enabled (both NVIDIA hardware with NVHPC compilers and AMD hardware with CRAY compilers) and disabled
[x] This PR does not introduce any repeated code (it follows the DRY principle)
[x] I cannot think of a way to condense this code and reduce any introduced additional line count -- I considered an automated solution to get the types from the Fortran codebase that uses grep and awk, but it seemed too brittle and complicated.

This seems right to me, but the rightful person to review this is @henryleberre... nice job @AiredaleDev

Adding the check in the constructor significantly extends the pre-build time for the test suite, enough for the user to think something is wrong (validating json is apparently quite expensive). For performance reasons, I may have to remove the check in the constructor, is there a way we can run fewer checks?

This seems right to me, but the rightful person to review this is @henryleberre... nice job @AiredaleDev

Thanks! Henry and I reviewed it last night, there's only the one outstanding thing I just discovered before it should be ready to merge.

Adding the check in the constructor significantly extends the pre-build time for the test suite, enough for the user to think something is wrong (validating json is apparently quite expensive). For performance reasons, I may have to remove the check in the constructor, is there a way we can run fewer checks?

Can you be a bit more precise... how long are we talking?
and I guess you mean it expands the time between initiating ./mfc.sh build and it actually starting to build? or ./mfc.sh run and it actually starting to run?

Adding the check in the constructor significantly extends the pre-build time for the test suite, enough for the user to think something is wrong (validating json is apparently quite expensive). For performance reasons, I may have to remove the check in the constructor, is there a way we can run fewer checks?

Can you be a bit more precise... how long are we talking?
and I guess you mean it expands the time between initiating ./mfc.sh build and it actually starting to build? or ./mfc.sh run and it actually starting to run?

Roughly a minute or two, though it's only for ./mfc.sh test since it generates a lot of MFCInputFiles ./mfc.sh build and ./mfc.sh run are fine because they validate at most one case file.

Adding the check in the constructor significantly extends the pre-build time for the test suite, enough for the user to think something is wrong (validating json is apparently quite expensive). For performance reasons, I may have to remove the check in the constructor, is there a way we can run fewer checks?

Can you be a bit more precise... how long are we talking?
and I guess you mean it expands the time between initiating ./mfc.sh build and it actually starting to build? or ./mfc.sh run and it actually starting to run?

Roughly a minute or two, though it's only for ./mfc.sh test since it generates a lot of Cases. ./mfc.sh build and ./mfc.sh run are fine because they validate at most one case file.

That is a lot. Can we switch to type checking at every test initialization rather than all at once in the beginning? That would probably fix it... distributing 1 minute over 150 tests makes it negligible. Need to be careful with the multithreading going on, through ./mfc.sh test -j X

Adding the check in the constructor significantly extends the pre-build time for the test suite, enough for the user to think something is wrong (validating json is apparently quite expensive). For performance reasons, I may have to remove the check in the constructor, is there a way we can run fewer checks?

Can you be a bit more precise... how long are we talking?
and I guess you mean it expands the time between initiating ./mfc.sh build and it actually starting to build? or ./mfc.sh run and it actually starting to run?

Roughly a minute or two, though it's only for ./mfc.sh test since it generates a lot of Cases. ./mfc.sh build and ./mfc.sh run are fine because they validate at most one case file.

That is a lot. Can we switch to type checking at every test initialization rather than all at once in the beginning? That would probably fix it... distributing 1 minute over 150 tests makes it negligible. Need to be careful with the multithreading going on, through ./mfc.sh test -j X

We appear to be already doing that in addition to the initial check. Removing these means we'll have to go back to waiting until after MFC is built to validate these inputs, but I think that's fine.

Adding the check in the constructor significantly extends the pre-build time for the test suite, enough for the user to think something is wrong (validating json is apparently quite expensive). For performance reasons, I may have to remove the check in the constructor, is there a way we can run fewer checks?

Can you be a bit more precise... how long are we talking?
and I guess you mean it expands the time between initiating ./mfc.sh build and it actually starting to build? or ./mfc.sh run and it actually starting to run?

Roughly a minute or two, though it's only for ./mfc.sh test since it generates a lot of Cases. ./mfc.sh build and ./mfc.sh run are fine because they validate at most one case file.

That is a lot. Can we switch to type checking at every test initialization rather than all at once in the beginning? That would probably fix it... distributing 1 minute over 150 tests makes it negligible. Need to be careful with the multithreading going on, through ./mfc.sh test -j X

We appear to be already doing that in addition to the initial check. Removing the initial check means we'll have to go back to waiting until after MFC is built to validate the case inputs, but I think that's fine since the alternative is sequentially validating all 150 inputs. Each test has a unique file that it reads iirc, so multithreading should behave fine.
I also just discovered we could validate only the changed parameters upfront, but the test runner is already going to run the check used during a normal run and the one it uses for generating its inputs, so it would ultimately do redundant work.

I don't know what you mean by it already does that, can you be more specific?
MFC is only built once before the test suite runs.
I think trying to get the toolchain to only check for changed inputs is more complex than appropriate for this.

Adding the check in the constructor significantly extends the pre-build time for the test suite, enough for the user to think something is wrong (validating json is apparently quite expensive). For performance reasons, I may have to remove the check in the constructor, is there a way we can run fewer checks?

Can you be a bit more precise... how long are we talking?
and I guess you mean it expands the time between initiating ./mfc.sh build and it actually starting to build? or ./mfc.sh run and it actually starting to run?

Roughly a minute or two, though it's only for ./mfc.sh test since it generates a lot of Cases. ./mfc.sh build and ./mfc.sh run are fine because they validate at most one case file.

That is a lot. Can we switch to type checking at every test initialization rather than all at once in the beginning? That would probably fix it... distributing 1 minute over 150 tests makes it negligible. Need to be careful with the multithreading going on, through ./mfc.sh test -j X

We appear to be already doing that in addition to the initial check. Removing the initial check means we'll have to go back to waiting until after MFC is built to validate the case inputs, but I think that's fine since the alternative is sequentially validating all 150 inputs. Each test has a unique file that it reads iirc, so multithreading should behave fine.
I also just discovered we could validate only the changed parameters upfront, but the test runner is already going to run the check used during a normal run and the one it uses for generating its inputs, so it would ultimately do redundant work.

I don't know what you mean by it already does that, can you be more specific?
MFC is only built once before the test suite runs.
I think trying to get the toolchain to only check for changed inputs is more complex than appropriate for this.

Agreed. If I were to go about it, I'd have to move check to two unintuitive places to perform a full check in the case of run and only a partial, upfront check in the case of test (call validate on the mods parameter of TestCase's constructor). Moving the check into MFCInputFile's constructor saves us the upfront minute, so I'll call it done.

If I understand correctly, you have it setup so it builds all of the test cases and then checks all of the parameters for all the tests before actually starting running the tests, whereas the existing (pre-PR) implementation didn't check the parameters of the test cases at all? or did the pre-PR implementation only test some of them somehow? I'm not more confused about the nature of the issue #424

If I understand correctly, you have it setup so it builds all of the test cases and then checks all of the parameters for all the tests before actually starting running the tests, whereas the existing (pre-PR) implementation didn't check the parameters of the test cases at all? or did the pre-PR implementation only test some of them somehow? I'm now more confused about the nature of the issue #424

Okay, I'm not explaining it right. The parameters were initially validated in the Fortran codebase, but the solution was quite hacky and would often point to benign parameters. In this PR, each run now checks all of its parameters using the schema, which provides clear error reporting, and then launches MFC if everything is okay -- this is true regarding normal runs and test suite.
I unintentionally made a change that would do as you described, which introduced the minute-long delay in the test suite.  I fixed this delay with my most recent commits.

ah - got it! I understand now.

@AiredaleDev @sbryngelson I think the best approach here is to define a method under Case called validate(). Code that makes use of Case objects should have the burden of calling it as a sanity check.

Also @AiredaleDev, I am to blame for the inclusion of (most of) the unused variables you found (chem_wrt, spec_pp, ...). These were unintentionally added when upstreaming some changes from my branch that is adding chemistry.

@AiredaleDev @sbryngelson I think the best approach here is to define a method under Case called validate(). Code that makes use of Case objects should have the burden of calling it as a sanity check.

@henryleberre Normally I would agree, but if I apply this sanity check to all code that constructs a Case (i.e. also a TestCase) then this line in the test runner forces the user to wait almost one whole minute before it begins. Apparently jsonschema is a bit slow.
# In toolchain/mfc/test/test.py
def test():
    # pylint: disable=global-statement, global-variable-not-assigned
    global nFAIL

    # This is the line I have to work around.
    # It runs before anything in parallel happens, so all 150 cases are checked sequentially.
    cases = [ _.to_case() for _ in list_cases() ]

# In toolchain/mfc/test/case.py
    def to_case(self) -> TestCase:
        dictionary = self.mods.copy()
        if self.path:
            dictionary.update(input.load(self.path, self.args).params)

            for key, value in dictionary.items():
                if not isinstance(value, str):
                    continue

                for path in [value, os.path.join(os.path.dirname(self.path), value)]:
                    path = os.path.abspath(path)
                    if os.path.exists(path):
                        dictionary[key] = path
                        break
        # This code "should" check the dictionary, but if we check the dictionary here
        # we wait ~45 seconds before the test runner starts.
        return TestCase(self.trace, dictionary, self.ppn, self.rebuild)

The test runner will eventually call run anyway, which ends up reading and validating each case dictionary in parallel before launching the simulation (i.e. each concurrent run of MFC checks its own parameters.)
I added a validate method with the last commit, but it's only used in the same place its body was used before. Regarding @sbryngelson 's request, I added a case to examples that intentionally triggers the error reporting when run.

hi @AiredaleDev no need to actually include broken code in version control, just 'proof' or 'verification' that if you do something like this your code identifies it.

not sure I quite follow @AiredaleDev -- I know test is just wrapper around run at some level, so I think @henryleberre is saying that everything that creates a case, which would be any run call, including those invoked through test, gets its case file validated. I don't think test should have any special machinery for this but rather invoke it at the run level?

Code that makes use of Case objects should have the burden of calling it as a sanity check.

@henryleberre Normally I would agree, but if I apply this sanity check to all code that constructs a Case (i.e. also a TestCase) then this line in the test runner forces the user to wait almost one whole minute before it begins. Apparently jsonschema is a bit slow.
The test runner will eventually call run anyway, which ends up reading and validating each case dictionary in parallel before launching the simulation (i.e. each concurrent run of MFC checks its own parameters then runs if they are correct.) I discovered this by adding a print statement next to the validation code, and if you'd like to check this yourself, add a print statement to the newly added validate method.
# In toolchain/mfc/test/test.py
def test():
    # pylint: disable=global-statement, global-variable-not-assigned
    global nFAIL

    # This is the line I have to work around.
    # It runs before anything in parallel happens, so all 150 cases are checked sequentially.
    cases = [ _.to_case() for _ in list_cases() ]

# In toolchain/mfc/test/case.py
    def to_case(self) -> TestCase:
        dictionary = self.mods.copy()
        if self.path:
            dictionary.update(input.load(self.path, self.args).params)

            for key, value in dictionary.items():
                if not isinstance(value, str):
                    continue

                for path in [value, os.path.join(os.path.dirname(self.path), value)]:
                    path = os.path.abspath(path)
                    if os.path.exists(path):
                        dictionary[key] = path
                        break
        # This code "should" check the dictionary, but if we check the dictionary here
        # we wait ~45 seconds before the test runner starts.
        return TestCase(self.trace, dictionary, self.ppn, self.rebuild)

# In toolchain/mfc/test/test.py
def test():
    # ...

    sched.sched(sched.Task(..., func=handle_func, ...)

# Called by handle_func
def _handle_func():
   # ...
   case.run(...) # case : TestCase

class TestCase(case.Case):
    # ...
    def run(...):
        # ...

        # We just end up calling `./mfc.sh run` for each test anyway.
        command = [
            mfc_script, "run", filepath, *rebuild, *tasks, *case_optimization,
            *jobs, "-t", *target_names, *gpus_select, *ARG("--")
        ]

        return common.system(command, print_cmd=False, text=True, capture_output=True)

Regarding @sbryngelson 's request, I added a case to examples that intentionally triggers the error reporting.

You're right. Sorry if I was unclear. I believe we agree on this. When I said that:

Code that makes use of Case objects should have the burden of calling it as a sanity check.

I did not intend to imply that code that makes use of Case objects should always call validate. This decoupling of validation & construction is intended to facilitate this. You only run validate when it is deemed reasonable / necessary. I agree we shouldn't call it in ./mfc.sh test and just let the spawned ./mfc.sh run processes do the validation.

not sure I quite follow @AiredaleDev -- I know test is just wrapper around run at some level, so I think @henryleberre is saying that everything that creates a case, which would be any run call, including those invoked through test, gets its case file validated. I don't think test should have any special machinery for this but rather invoke it at the run level?

This is how it behaves currently.

I did not intend to imply that code that makes use of Case objects should always call validate. This decoupling of validation & construction is intended to facilitate this. You only run validate when it is deemed reasonable / necessary. I agree we shouldn't call it in ./mfc.sh test and just let the spawned ./mfc.sh run processes do the validation.

Ah, I see! I'll go in and address that real quick.

@henryleberre can approve and merge this PR when it's ready

hi @AiredaleDev no need to actually include broken code in version control, just 'proof' or 'verification' that if you do something like this your code identifies it.

Okay, will remove the broken case and show you the logs:

@henryleberre Just a reminder that this should be ready to merge!

authors: AiredaleDev henryleberre sbryngelson

repo: MFlowCode/MFC


text:
Installing Error

Traceback (most recent call last):
File "start.py", line 25, in
from cloudscraper import create_scraper
ModuleNotFoundError: No module named 'cloudscraper'
When I try to install MHDDoS I get this error why I try to use the tool

I also get this error when using the command pip3 install -r requirements.txt
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-install-0046kd6r/cryptography/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-ircte_6u/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-install-0046kd6r/cryptography/

Reinstall a newer version of python, remove all old scripts and python versions

https://stackoverflow.com/questions/22073516/failed-to-install-python-cryptography-package-with-pip-and-setup-py
@Memerip

#111

source: gharchive/issue

authors: MHProDev Memerip bntr00t

repo: MHProDev/MHDDoS

license: MIT

license_type: permissive

license_source: github-api


text:
The dataset that is to be used  for  say Rib Fracture detection

In the paper (Baumgartner M., Jäger P.F., Isensee F., Maier-Hein K.H. (2021) nnDetection: A Self-configuring Method for Medical Object Detection. In: de Bruijne M. et al. (eds) Medical Image Computing and Computer Assisted Intervention – MICCAI 2021), we can see the following text:
"Data sets. An overview of all data sets and their properties can be found in the
supplementary material. Out of the 13 data sets, we used 10 for development and
validation of nnDetection. These are further divided into a training pool (4 data
sets: CADA [21], LIDC-IDRI [1,9], RibFrac [10] and Kits19 [6].) and validation
pool (6 data sets: ProstateX [12,3], ADAM [22], Medical Segmentation Decathlon
Liver, Pancreas, Hepatic Vessel and Colon [19]). While in the training pool we
used all data for development and report 5-fold cross-validation results, in the
validation pool roughly 40% of each data set was split off as held-out test set
before development".
Does this mean that the Lung Nodule Detection LUNA model was trained using all of the following data {Rib fractures, LIDC nodules, Kits, CADA} as a single foreground class, or as multiple foreground classes ? What does it mean when we say the entire LUNA dataset containing 888 scans is a "test / hold-out dataset entirely held out from the model training" ?
Or is it meant to indicate that LIDC data (comprising 7371 nodules) was used for training and LUNA was used for testing. This would not make sense since LUNA is a subset of LIDC. This text in the paper is also contrary to the scripts in https://github.com/MIC-DKFZ/nnDetection/blob/main/projects/Task016_Luna/scripts/prepare.py, which seem to use LUNA alone for training the model.
Can you kindly clarify the following

What dataset was used for evaluation of Lung nodules in the following figure
https://github.com/MIC-DKFZ/nnDetection/blob/main/docs/results/nnDetectionV001.md#luna with 92.7% at FP of 0.5 per scan
In https://github.com/MIC-DKFZ/nnDetection/blob/main/docs/results/nnDetectionV001.md#luna, the LUNA set is missing from the test pool, making the paper and this in-consistent.

Thanks

Dear @DSRajesh ,
since Luna has a predefined split and many previous methods are already using that one, we did not perform 5 fold crosss-validation there but follow DeepLung (https://github.com/wentaozhu/DeepLung) and performed a 10 fold cross-validation with the provided splits. This is why it is not part of the main figure of nnDetection and we reported the results in a separate figure.
Each dataset in nnDetection is to be taken by itself, we never do transfer learning (i.e. pretrain on another dataset to fine-tune on a different one).
Nevertheless, it is possible to take nnDetection and apply it to new datasets, i.e. it generalises to new problems via its self configuring planning. (note: this still means training models from scatch is necessary for the new dataset, the goal is to evaluate the generalisation of the self-configuring process) -> This was done for the datasets in the test pool, including LUNA. While LUNA is a subset of LIDC, the configuration of nnDetection is still different between the two datasets and as such we evaluated the generalisation capabilities of nnDetection on LUNA as well.
Best, Michael

authors: DSRajesh mibaumgartner

repo: MIC-DKFZ/nnDetection


text:
URL remediation

The title of the playbook
URL remediation
Purpose of the playbook
This playbook uses a domain as input information from the analysts. It queries the domain reputation feeds, verifies with URLscan and Lookyloo. The analyst can then add the URL (as attribute and as an object) to a new or existing MISP event. The playbook then sends the URL to external providers such as Google, Microsoft and Phishtank. The URL is added to a Watchlist in Azure Sentinel and added to an Elasticsearch index. It then provides a summary of results and shares the results via Mattermost or Slack or as an alert in TheHive or DFIR-IRIS (to be discussed for implementation). This playbook is similar to the playbook on creating a MISP event for a phishing case (https://github.com/MISP/misp-playbooks/issues/1) , except that the focus is here only on a URL.
External resources used by this playbook
URLscan, Lookyloo, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional), Google Safe Browsing, Microsoft Security Intelligence, Phishtank
Target audience
SOC, CSIRT, CTI
Breefly list the execution steps or workflow
No response

https://developers.cloudflare.com/api/operations/phishing-url-scanner-submit-suspicious-url-for-scanning

repo: MISP/misp-playbooks


text:
Ventilation in respiratorycare

Hi guys,
When I tried to extract ventilation from respiratorycare, there are some cases that ventstartoffset is  larger than ventendoffset (e.g. patientunitstayid= 141168). Should we refer to respcarestatusoffset for these cases or exclude? In addition, for cases that ventendoffset=0, are they removed from ventilation when admitted to ICU unit? Thanks.

Please see #49 - just re-raised it from a separate repository that we have deprecated, but haven't fully migrated the issues over yet. This doesn't answer your question but it's important that you consider ventendoffset = 0 as a NULL, and not as an actual time of 0.

repo: MIT-LCP/eicu-code


text:
Why not introduce the nodes of parent-child relationship

Why not introduce the parent-child nodes similar to those in 3D Slicer in the transformation relationship of Mitk? I've asked many friends who do development with Mitk, and they are all looking forward to this feature.Best Wishes!

Thank you for your suggestion! Could you please elaborate a bit more on how you'd like the parent-child node relationships to work within MITK's transformations? It would help us better understand your proposal and evaluate how it aligns with our current framework. Looking forward to your insights!

Thank you for your suggestion! Could you please elaborate a bit more on how you'd like the parent-child node relationships to work within MITK's transformations? It would help us better understand your proposal and evaluate how it aligns with our current framework. Looking forward to your insights!

Thank you for your reply! This mainly lies in the aspect of transformation matrices. Sometimes I hope that one object can remain relatively stationary or maintain a fixed offset with respect to another object. If the concept of parent-child nodes is introduced, then I only need to set the reference node (parent node) and then set the reference matrix (MatrixToParent). Additionally, I can query my parent nodes and child nodes, that is, which nodes refer to me and which nodes I refer to. Currently, I need to monitor Geometry to achieve a similar effect and encapsulate the logic by myself.

I see. I really understand your motivation for this feature but unfortunately it probably won't happen from our side/in the MITK codebase for several reasons.
For example, the 1:n parent-child relationship you see in the Data Manager is only half of the truth. Nodes can also have multiple parents as the concept originates from a source/derived relationship regarding data processing. Furthermore, in the vast majority of cases in medical image processing we really have to be careful to keep and "obey" physical coordinates specified by images and other data. This is why there isn't a straight forward native way of moving things around in the MITK Workbench other than image registration where it is inevitable. Think of it like a deliberate design choice as self-harm protection for the unwary user. :)
In your case I would indeed suggest to write code to easily set up and manage geometry listeners/observers (native support via itk::Object base class) for achieving hierarchical transformations. In case you have a View, override the NodeAdded/Removed methods to manage adding/removing observers as needed or also listen to Delete events of affected nodes.

I also would like to ask why measurement is not allowed in three - dimensions? Sometimes I just want to measure some mesh data or for other purposes. Anyway, this function is also supported in 3D Slicer. I want to ask why annotation(pointset module) can be done in three - dimensions, but the default measurement can only interaction in two - dimensions. I know the final results can be displayed in three - dimensions,but I am referring to is the interaction.Best Wishes!

authors: BigBrotherHui kislinsk

repo: MITK/MITK

license_source: bigquery


text:
ASI-24

What does this PR do?

Format output of populate_fund_data function as an OrderedDict
Add corresponding unit test
Add invoice fixture where the external IDs of the funds are not appearing in numerical order

Helpful background context
I left the fund_data assert in place from the other populate_fund_data test to ensure the data was the same overall since a dict seems to reconcile as equal to an Ordered Dict even though they would iterate differently depending on when the keys were added to the dict. To test the iteration, added 3 next asserts to mimic how this would be iterated through when it's passed to the generate_report function. Let me know if there's a better way to do this.
What are the relevant tickets?

https://mitlibraries.atlassian.net/browse/ASI-24

Requires Database Migrations?
NO
Includes new or updated dependencies?
NO

My assumption was external_id based on what shows up in the final report and the reference to "numerical" in the ticket

My assumption was external_id based on what shows up in the final report and the reference to "numerical" in the ticket

Hmmm. The ticket and my notes say fund code. @ehanson8 can you double check with Martina in the ticket so we have it documented?

Done, I'll update everyone with her reply

Martina confirmed it is the external ID, https://mitlibraries.atlassian.net/browse/ASI-24

source: gharchive/pull-request

repo: MITLibraries/alma-scripts


text:
Add option for _oad, _ad, _tlm dirs

Updated verfication_parser.py to support checking AD style experiments
in .travis. Previously verfication_parser.py counted directories named
'/input.*' to compute number of sub-experiemts to check. For AD experiments
pattern needs to be different (_oad, _ad, _tlm etc...).
What changes does this PR introduce?
Will allow Travis with OpenAD
What is the current behaviour?
Travis with OpenAD not possible
What is the new behaviour
None yet, until Travis updated
Does this PR introduce a breaking change?
Hopefully not, but needs checking. New option has default
which is same as hard-coded value in previous.
Other information:
Suggested addition to tag-index
o verification_parser.py option to pattern match OAD input dirs

LGTM 🐍

authors: christophernhill edoddridge

repo: MITgcm/MITgcm


text:
add syntax given ssh key authentication in Contributing chapter

What changes does this PR introduce?
(Bug fix, feature, docs update, ...)
doc
replaces PR #570

gives syntax is using ssh keys and PAT in chapter 5 (contributing PR instructions). This is consistent now with how it was handled in chapter 3.
#570 added a numbered step; this was inconsistent with the idea that the steps were a repeatable recipe for submitting a MITgcm PR (it was easier to make a new PR than edit #570)
equally important to document was what/why this authentication is needed in the first place, and to provide links that explain how to do it - when setting up your git account. This is done in the detailed guide to Git (quickstart assumes reader is familiar already)
in keeping with the spirit of #570, added text encourages ssh keys over PAT but ultimately this is the readers choice, whatever is easier/more straightforward for them.
added a ssh key syntax in 5.7 (reviewing PRs)
in going through this chapter, updated the MITgcm dev team list to currently active contributors/reviewers.

@jrscott  2 major comments:

given the work that has been put in PR #570 (which got approved on Nov 25, before this PR was opened) and the overlap, it seems more logical to move these changes there, in PR 570 (unless @edoddridge disagree) so that at the end we preserve a fair history and attribution of authorship.
I disagree with dropping Ed Doddridge from the "review team" list, because Ed is part of the "PR-merger" with write privilege and as such is a reviewer (in fact he did review this PR !); The previous, out-dated list was based on write-access (at the time it was written), but this updated list is unclear what it represents and does not seems fair neither.

changes carried over into PR #570 will close this PR

authors: jm-c jrscott


text:
JSON Query Support

With for example jq, which could run in the browser (jq-web)

That's a great idea, I will definitely implement this. To make it easier to use, I would merge all three json files into one and then remove all fields people don't want to see (like UUIDs).


text:
刷剧记录

这是我的第一个issue。

创世纪
霍景良经典语录：
你看外面的大楼，我敢说十栋有九栋是骗回来的，就看你是做骗人的那个还是被骗的那个。
天天早上9点钟坐车上班，每个月都是赚那一万几千，省吃俭用玩股票，妄想一朝发财，他们根本就不知道真正的大赢家是谁，再有一个小时就开市了，看有多少人在帮我赚钱。

生活家
无聊的时候，可以看一看开头的5集，把刚毕业的初入职场的不易，写的还算比较贴近生活。。。

猎狼者
有点西部写实题材的电视剧，只有8集，拍摄的手法很像电影的角度，剧情节奏还可以，比一般的电视剧优秀，没有那么拖沓和为了卖钱，各种拖沓，整体节奏还算可以。

叛逆者
第一集有点尬，就感觉朱的演技扮演这个青年特工有点出戏，没有继续看的欲望。。。。。。


text:
Flexible covariate mappings

Computation inputs to covariates mappings must be more flexible. Currently, the “boolean” input type expects all users to represent their data as 0s and 1s. However, some users may use -1s, or T, F, etc. Users may also flip the column’s meaning:

A “diagnosis” heading where “true” indicates disease
A “control” heading where “true” indicates no disease

Users should be able to map columns’ values themselves. Also, we should provide some smarts for normalizing ranges, checking columns, etc.

Per our 2017-02-03 conversation it would be great to show all unique values in a boolean (ex: “Is Control”) column.

We’re supplying data for our end-of-month-ish demo where covariates are properly set up; therefore, we don’t need this completed. Moving to a post-demo milestone.

repo: MRN-Code/coinstac

license: mit


text:
Stream Analytics not working

This is a follow on to #167.
Using the latest code, I have done the AzurePrep selecting Stream Analytics to be run, and have everything running to the point where the website is displaying the data.  (This is an Intel Galileo Gen 2 with the SparkFun Weather shield.)  Covering up the sensor, I can see the light going "on" and "off".
However, no alerts are posted to the website.  It appears as though the input, output, and query are correct for the SA job, and it has the status of "Processing".  Here is the log information from the light sensor:
5/27/2015 1:25:34 PM Start job 'lmpctd9LightSensor' Running lmpctd9LightSensor Microsoft.StreamAnalytics  286b4bec-1a43-433f-b138-527f516bbfd0
5/27/2015 1:25:29 PM Receive Events Failed lmpctd9LightSensor Microsoft.StreamAnalytics  d1b3ba96-fb25-48a8-90b1-d22e3d0421ed
5/27/2015 1:25:29 PM Receive Events Failed lmpctd9LightSensor Microsoft.StreamAnalytics  e711ac68-2394-4460-9b02-7c8b3f6a7f70
5/27/2015 1:25:28 PM Receive Events Failed lmpctd9LightSensor Microsoft.StreamAnalytics  556f8a9f-ab34-4551-8bcb-ba2d03468388
5/27/2015 1:25:28 PM Receive Events Failed lmpctd9LightSensor Microsoft.StreamAnalytics  38f3422a-b271-4ba1-9fae-c464991c637a
5/27/2015 1:24:25 PM Start job 'lmpctd9LightSensor' Submitted lmpctd9LightSensor Microsoft.StreamAnalytics  6f3055a2-872e-453d-8b72-6a56079a0497
5/27/2015 1:24:23 PM Start job 'lmpctd9LightSensor' Submitting lmpctd9LightSensor Microsoft.StreamAnalytics  9f395aaf-f97d-4c5a-8b2c-3606ab6ee683
5/27/2015 1:24:23 PM Start job 'lmpctd9LightSensor' Validated lmpctd9LightSensor Microsoft.StreamAnalytics  a904762d-5781-4ec0-b4e9-29e2c9837eb5
5/27/2015 1:24:17 PM Start streaming job 'lmpctd9LightSensor' Completed lmpctd9LightSensor Microsoft.StreamAnalytics  2d4f2c93-c96a-4813-ba2f-c8cdc70c36d8
5/27/2015 1:24:17 PM Start streaming job 'lmpctd9LightSensor' Started lmpctd9LightSensor Microsoft.StreamAnalytics  5dd50305-cfa8-4303-98b9-591f1eace20e
5/27/2015 11:37:11 AM Add job 'lmpctd9LightSensor' Completed lmpctd9LightSensor Microsoft.StreamAnalytics  4f20f97a-ba63-49ec-a893-b683a6f8b214
5/27/2015 11:37:11 AM Add job 'lmpctd9LightSensor' Started lmpctd9LightSensor Microsoft.StreamAnalytics  80b98e61-d1d7-4911-
There were several points where I covered the light sensor, but no alert was generated.  I noticed the query was looking for a value of 0.02, and the value being shown in the website was about 0.2 when I covered the light sensor.  So I modified the query to check for < 0.5 and restarted the job.  Even after about 45 seconds at the low (0.2) level no alert was generated.
Any ideas?

Mark

Curiously, when I look at any of the Stream Analytics job's dashboards, they all say "Monitoring data unavailable. Please try again later." where the graph should be.  This would seem to indicate no data is being fed to the SA jobs.

Here are a couple of messages as reported by EHConsole:
sent message:{"displayname":"mpgalileo","guid":"C22B94A0-FD5C-4EB3-9740-08AA1DB684C8","location":"CIL B1213B","measurename":"Temperature","organization":"CPO CIL","subject":"wthr","timecreated":"2015-05-28T13:08:04Z","unitofmeasure":"F","value":77.6131366729736}
sent message:{"displayname":"mpgalileo","guid":"C22B94A0-FD5C-4EB3-9740-08AA1DB684C8","location":"CIL B1213B","measurename":"Humidity","organization":"CPO CIL","subject":"wthr","timecreated":"2015-05-28T13:08:04Z","unitofmeasure":"%","value":43.7970581054688}
sent message:{"displayname":"mpgalileo","guid":"C22B94A0-FD5C-4EB3-9740-08AA1DB684C8","location":"CIL B1213B","measurename":"Pressure","organization":"CPO CIL","subject":"wthr","timecreated":"2015-05-28T13:08:04Z","unitofmeasure":"inHg","value":29797.689453125}
sent message:{"displayname":"mpgalileo","guid":"C22B94A0-FD5C-4EB3-9740-08AA1DB684C8","location":"CIL B1213B","measurename":"Light","organization":"CPO CIL","subject":"wthr","timecreated":"2015-05-28T13:08:04Z","unitofmeasure":"Lux","value":3.50571703910828}

More information.  Yesterday, about 2.5 hours after the SA job started, the following error showed up in the operations log:
Correlation ID:
d770306d-b86c-4509-b9f0-d6aabc77bf33
Error:
Exception message at level [0], exception number [0], parent exception number [0]:
One or more errors occurred.
Exception message at level [1], exception number [0], parent exception number [0]:
The server was unable to process the request; please retry the operation. If the problem persists, please contact your Service Bus administrator and provide the tracking id. TrackingId:aa7db74cfcfe46d692c6d982b822ff10_G18,TimeStamp:5/27/2015 9:46:47 PM
Message:
EventHubReceiver.ReceiveAsync failed. Namespace: sb://lmpctd9-ns.servicebus.windows.net/ Path: ehdevices
Message Time:
2015-05-27 21:46:48Z
Microsoft.Resources/EventNameV2:
e02a5e4a-5793-45e3-bdb5-48f10cebaf2b.devicesinput_0_c76f7247_25b7_4ca6_a3b6_c7bf192ba44a#0$0
Microsoft.Resources/Operation:
Receive Events
Microsoft.Resources/ResourceUri:
/subscriptions/9258ba45-34ef-4d6a-919a-304bdf8830d2/resourceGroups/lmpctdrg9/providers/Microsoft.StreamAnalytics/streamingjobs/lmpctd9LightSensor
Type:
EventHubInputAdapterEventHubFailure

Is there any way to tell whether or not the information is getting from the Event Hub to the Stream Analytics job?

Hi Mark
Sorry for the late answer on this one.
The errors in the operation logs are definitively not a good sign. You could have gotten some errors about the JSON format of incoming messages being wrong but these are not an issue and don't seem to be what you are seeing.
Here are a few things you can try to do:

do you see anything on the timeline of the stream analytics dashboard? Is it flat?
Did you test the input connection?
The EHConsole tool is hard coded to monitor only the ehdevices Event Hub (definitively something I want to fix :-)). you can do a search for "ehdevices" in the ehconsole solution and replace with ehalerts so that you can monitor the ehalerts event hub and validate whether it is the site not showing the alerts or the Stream Analytics not working.
can you try and modify the query so that it monitors some other data type such as humidity to validate that you don't have an issue with values passed in the JSON. I tried the following with humidity:
SELECT
'HumidityAlert' as alerttype,
'Humidity is above 50%' as message,
displayname,
guid,
measurename,
unitofmeasure,
location,
organization,
MIN(timecreated) AS timecreated,
max(value) as value
FROM
Devices TIMESTAMP BY timecreated
WHERE
measurename = 'Humidity' OR measurename = 'humidity'
GROUP BY
displayname, guid, measurename, unitofmeasure, location, organization,
TumblingWindow(Second, 3)
having max(value) > 50

do you see anything on the timeline of the stream analytics dashboard? Is it flat?

I'm not sure what you are asking here.  If you mean the dashboard in the Azure portal, then no, it is not flat.  At least the couple of times I looked.  I will add the caveat that when I looked, it was when I manually created the SA jobs.  I have not looked since I flushed everything and started over with the latest code.

Did you test the input connection?

Yes.  The test reported the connection was successful.
Unfortunately, with other projects needing my attention, I'm going to have to table this effort for a while; and call it a deployment failure for the moment.  (If you sense frustration, you are correct.  I have been working since the end of March trying to get this all working.)

Closing. Reopen when available to work on.

Just to follow up as I have been able to get pack to this project...
Without any changes to the code or deployment, I discovered yesterday Azure Stream Analytics started to work.  I can only assume there was some underlying issue in Azure which was causing the analytics to not work.
So all is working at this point.

authors: mpilant olivierbloch spyrossak

repo: MSOpenTech/connectthedots


text:
Adding a custom scrollbar with light/dark mode functionality

Description
Adding a custom scrollbar with light/dark mode functionality -> #191
Screenshots
No response
Additional information
No response

nice work done on #191

@Darkmift
Thank you. Appreciate the merge :)

authors: Darkmift develad

repo: Maakaf/maakaf-website


text:
QX failed to update with Parser

Sorry that i am using QX but found this sgmodule is really useful, i used Resource Parser to convert this sgmodule for QX but found an error this morning.
Resource parser result with invalid Line ^https?:VVI\w-]+.googlevideo)...
it works perfect before but since today.
understand this is not for Quantumult X, so this is just for an report, hope that there will be one similar plugin specific for QX someday

MAP LOCAL uses a new feature of surge, which you can ask the Parser author to support, or use reject-img instead.

authors: Maasea kewachan

repo: Maasea/sgmodule


text:
Empty cells at the beginning

Hi, I need help or guidance with a problem importing files. Many of the excel sheets that I import bring blank spaces in the first rows and columns (this is because many clients use them to point directions or make it more visually attractive). When you import these sheets, all the empty cells in the margins of the sheet disappear and the columns move resulting in numerous errors.
I would like to know how I could solve this, that the blank boxes are not ignored. I tried it through the file excel.php, modifying the value of the nullValue but it did not work.
Thanks in advance.

@pabloTSDAW can you please fill in the question template (https://raw.githubusercontent.com/Maatwebsite/Laravel-Excel/3.1/.github/ISSUE_TEMPLATE/Question.md). It's unclear which version you are using.

PHP version: 5.6.4
Laravel version: 5.3
Package version: 2.1

@pabloTSDAW version 2.1 is no longer supported since May. (https://laravel-excel.maatwebsite.nl/3.1/getting-started/support.html) You should consider upgrading to 3.1 .
In the meantime you could try $reader->ignoreEmpty()

$reader->ignoreEmpty() did not work. I've no choice but to upgrade to version 3.1
Thank you very much for the help

Closing this issue as an upgrade to 3.1 will be performed.
@pabloTSDAW If you encounter any issues after the upgrade, please open a new issue (using the template).
Good luck and thank you for using Laravel Excel!

authors: GlennM pabloTSDAW patrickbrouwers

repo: Maatwebsite/Laravel-Excel


text:
QUESTION: check whether a header has a specific name

Package version, Laravel version
2.1, 5.2
Is is possible to check if an excel file has a specific header in it.
for example

you can see the headers such as plate_serial_number, supplier_name, etc..
I want to check if this file also has a header called status_name, if so execute some action(s).
      Excel::load($data, function ($reader) {

        foreach ($reader->toArray() as $row) {
            $plate = Plate::where('serial_number',$row['plate_serial_number'])->exists();

            $wafer = Wafer::firstOrCreate(['serial_number' => $row['wafer_serial_number']]);
            $process = Process::firstOrCreate(['name' => $row['process_name']]);
            $supplier = Supplier::firstOrCreate(['name' => $row['supplier_name']]);

          // first before executing this, I want to check if there is a header called status_name, if not skip this step
           $status = EquipmentStatusCode::firstOrCreate(['name' => $row['status_name']]);

            Plate::firstOrCreate([
              'wafer_id'            => $wafer['id'],
              'serial_number'       => $row['plate_serial_number'],
              'crc_code'            => 'default',
              'supplier_id'         => $supplier['id'],
              'process_id'          => $process['id'],
              'equipment_status_code_id' => $status['id'] ,
            ]);

          }

        });

Just a small update.
I know I can do this using php isset method. I was wondering if the package has something baked in.

$reader->get() returns a Collection which has a ->has('key') method.
Other than that there's no way to do it besides an isset/array_key_exists.

authors: patrickbrouwers sevmardi


text:
Allow suggestions

Allow people to !suggest
Go through normal create flow, and then at the end, moderators can click a reaction (auto-added by bot), to add it. Should be available in probably all servers... although only servers with an actual moderator can approve ofc.

Probably should have config values for server/channel where you want to post these messages, so it can be approved all in one location.

Also should consider whether suggest-edits are a thing or not.


text:
🛑 Libreddit (libreddit.spike.codes) is down

In f6c31dd, Libreddit (libreddit.spike.codes) (https://libreddit.spike.codes) was down:

HTTP code: 502
Response time: 28655 ms

Resolved: Libreddit (libreddit.spike.codes) is back up in 02d4b14 after 31 minutes.

repo: Magic-Services/upptime


text:
🛑 Unity is down

In a84f480, Unity (https://unity.com) was down:

HTTP code: 503
Response time: 483 ms

Resolved: Unity is back up in 1b84c8f after 10 minutes.


text:
camera recording

Please tell me how you can record video from a camera to a file?
I would like to implement the ability to record a video message by the user, then send the already received video file, if necessary.
for example, when there is no Internet, so that the user can record a video message.
I would also like to try to implement a type of karaoke player so that the user can record a video of his performance of the song to a file. is it possible to do this using your library?
good luck!

Unfortunatly this is not yet supported :(

repo: MagicFoundation/Alcinoe


text:
How to show alert on Modal ?

Use case :  In a component screen we have multiple modals implemented  these have forms ,we tried to "showAlert" but is hiding behind the  other modals.

Hi, @RameshSain , did you manage to solve this problem ? If you can elaborate it, that would really help othere.
Thanks


text:
ash: Regenerate negative constants with syn 1.0.81

syn has been updated to not remove the _ again from negative numbers, which previously disappeared in the 1.0 upgrade in 43b5058 ("Upgrade proc_macro2/syn/quote to v1.0 (#351)").
See also https://github.com/dtolnay/syn/releases/tag/1.0.81:
Support arbitrary precision negative literal tokens on rustc 1.56+

This one has a bit of prio to fix the unsuspecting build failure on master (merged PR was submitted before 1.0.81, and everything was fine).

We also might want to add a lockfile for the generator.

Perhaps, though I prefer keeping everything (automatically) updated. It's the first time we run into this, nothing too bad IMO :)

repo: MaikKlein/ash


text:
Cannot use with pod

I add pod "ImageViewer" to pod file, make pod install and it installs. After that how to use ImageViewer class if there is no module to import and it does not see ImageViewer class?

Hey @NuVeS, sometimes that happens. Just import wherever you import UIKit. I'm taking this from iOS Readme Template
To get the full benefits import ImageViewer wherever you import UIKit
import UIKit
import ImageViewer

Sometimes Xcode won't recognize, so just press shift + option+command + K to clean the build.
If you prefer, you can also download and drop /ImageViewer folder in your project

authors: NuVeS lfarah

repo: MailOnline/ImageViewer


text:
No game launch from Web Gui

I have followed all steps in the preparing your client guide and installing and running the server on windows and am able to get the server going and the web Gui to come up, I made an account and hit start tarkov but nothing happens. I get the following terminal readout in both VS code and Command prompt ( both ran as admin )
[SUCCESS] 2023-01-10 00:25:01 [WEBINTERFACE] Constructed
[SUCCESS] 2023-01-10 00:25:01
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄ ▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄                                                                      ▄
▄        ▄▄▄▄▄   ▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄       ▄▄▄▄▄           ▄
▄        ▄▄▄▄▄▄  ▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄     ▄▄▄▄▄▄▄          ▄
▄        ▄▄▄▄▄▄▄▄▄▄▄▄▄▄     ▄▄▄▄     ▄▄▄▄  ▄▄▄▄▄▄    ▄▄▄▄▄▄▄▄▄         ▄
▄        ▄▄▄▄▄▄▄▄▄▄▄▄▄▄     ▄▄▄▄     ▄▄▄▄▄  ▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄        ▄
▄        ▄▄▄▄ ▄▄▄▄ ▄▄▄▄     ▄▄▄▄      ▄▄▄▄▄▄▄▄▄▄▄  ▄▄▄▄▄   ▄▄▄▄        ▄
▄                                                                      ▄
▄                                                                      ▄
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄ ▄▄  ▄▄ ▄▄ ▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
[SUCCESS] 2023-01-10 00:25:02 Profile Database Loaded
[INFO] 2023-01-10 00:25:02 Loaded account data for profile: 63bc9fb6e23cdd0d980030d2
[19:25:02.541] INFO (13996): Server listening at https://127.0.0.1:443
[DEBUG] 2023-01-10 00:25:10 [WEBINTERFACE] Found sessionID cookie: 63bc9fb6e23cdd0d980030d2
[DEBUG] 2023-01-10 00:25:10 [WEBINTERFACE] Reading base file: ./assets/templates/webinterface/base.html
[19:25:10.916] INFO (13996): incoming request {"reqId":"req-1","req":"[GET] /"}
[19:25:10.931] INFO (13996): request completed {"reqId":"req-1","res":"200","responseTime":14.67249999998603}
[19:25:10.943] INFO (13996): incoming request {"reqId":"req-2","req":"[GET] /resources/dist/css/bootstrap.min.css"}
[19:25:10.943] INFO (13996): incoming request {"reqId":"req-3","req":"[GET] /resources/navbar-top-fixed.css"}
[19:25:10.944] INFO (13996): incoming request {"reqId":"req-4","req":"[GET] /resources/dist/js/bootstrap.bundle.min.js"}
[19:25:10.944] INFO (13996): incoming request {"reqId":"req-5","req":"[GET] /resources/webinterface.js"}
[19:25:10.946] INFO (13996): request completed {"reqId":"req-3","res":"200","responseTime":2.4428000000771135}
[19:25:10.947] INFO (13996): request completed {"reqId":"req-5","res":"200","responseTime":3.5364999999292195}
[19:25:11.054] INFO (13996): request completed {"reqId":"req-4","res":"200","responseTime":110.73159999994095}
[19:25:11.258] INFO (13996): request completed {"reqId":"req-2","res":"200","responseTime":315.32620000001043}
[DEBUG] 2023-01-10 00:25:13 [WEBINTERFACE] Found sessionID cookie: 63bc9fb6e23cdd0d980030d2
[DEBUG] 2023-01-10 00:25:13 [WEBINTERFACE] Launching EscapeFromTarkov.exe...
[DEBUG] 2023-01-10 00:25:13 [WEBINTERFACE] Reading base file: ./assets/templates/webinterface/base.html
[19:25:13.041] INFO (13996): incoming request {"reqId":"req-6","req":"[GET] /webinterface/weblauncher/start"}
[19:25:13.053] INFO (13996): request completed {"reqId":"req-6","res":"200","responseTime":11.018200000049546}
[19:25:13.068] INFO (13996): incoming request {"reqId":"req-7","req":"[GET] /resources/dist/css/bootstrap.min.css"}
[19:25:13.068] INFO (13996): incoming request {"reqId":"req-8","req":"[GET] /resources/navbar-top-fixed.css"}
[19:25:13.069] INFO (13996): incoming request {"reqId":"req-9","req":"[GET] /resources/dist/js/bootstrap.bundle.min.js"}
[19:25:13.069] INFO (13996): incoming request {"reqId":"req-a","req":"[GET] /resources/webinterface.js"}
[19:25:13.071] INFO (13996): request completed {"reqId":"req-8","res":"200","responseTime":2.922900000005029}
[19:25:13.071] INFO (13996): request completed {"reqId":"req-a","res":"200","responseTime":2.175500000012107}
[19:25:13.169] INFO (13996): request completed {"reqId":"req-9","res":"200","responseTime":100.73550000006799}
[19:25:13.375] INFO (13996): request completed {"reqId":"req-7","res":"200","responseTime":307.07579999999143}

I will also add that I am using the most current official client files copied to another directory and followed all prepare your client steps.

Try using develop branch backend, and the binaries from the latest release.
https://github.com/Make-Tarkov-Great-Again/MTGA-Backend/tree/develop
https://github.com/Make-Tarkov-Great-Again/MTGA-Binaries/releases/tag/21531-rc

Try using develop branch backend, and the binaries from the latest release. https://github.com/Make-Tarkov-Great-Again/MTGA-Backend/tree/develop https://github.com/Make-Tarkov-Great-Again/MTGA-Binaries/releases/tag/21531-rc

Unfortunately this did not seem to work for me either. I am going to do a bit more investigating toady and will report back if i have any new findings.

Odd, latest everything (server/client binaries/client patch from Live EFT) works perfectly fine for me, you're able to actually go to the web-panel so it's not a networking issue.
Do you happen to have any external firewalls enabled? Or anything that would block the application from making connections?
If so, that might be worth looking into, try adding exclusions or turning any applicable firewalls off and see if that may change anything.
Another thing to note may be antiviruses, and anything else that may manipulate software connections/security.

Still working at the moment so I am unable to check right now but when I finish up I will double check all of the above and report back!

unfortunately that did not solve my problem. I'm over here scratching my head trying to figure out what I have done wrong. I have done fresh installs multiple times and in different locations as well. turned off windows defender firewall and no luck. server runs fine as far as i can tell, no errors. Just wont load the game when starting through the webgui. BEP generates its files and everything, mtga dll in plugins and replaced assembly dll in tarkov managed.

Have you attempted starting tarkov without the web-panel and see if it still crashes when it's not invoked by the web-panel? This one's definitely beyond me in this case, cause I have no clue what it'd be otherwise, that's just wacky.

Yeah it's a checksum error, tarkov does that if files are modified (by default), or otherwise, I think it can also close if it doesn't detect a server available (e.g. it's no longer phoning tarkov, so therefor, it's nil).
I checked my client logs, it doesn't have any issues regarding filechecker, did you delete battleeye and stuff? I noticed that was giving me issues when I had deleted battleeye and other optional removals, and it caused issues with filechecker.
However, installing MTGA and not removing anything works perfectly fine as-is, and doesn't report any filechecker issues within my log files.
Definitely an installation issue, somehow.

hmm I have tried with and without deleting the optional files. That was actually one of my first troubleshooting steps i took before opening this ticket. lets try again, why not.

The issue primarily with removing things is it would cause tarkov to close prior to bepinex creating the files it needed, thus making bepinex un-installable, but if you somehow managed to get bepinex installed then I have no clue beyond that, that's the only issue I received when installing MTGA and solved it by simply just not removing anything from the tarkov copy lol.

ugh I feel cursed lol. I may just have to give up on MTGA for now and go back to AE. Bepinex seems to create its files the way it should.

it looks like patches didnt run properly are you using proper bepinex ?

get Binaries (patch files a DLL file)
get server
https://github.com/BepInEx/BepInEx/releases/tag/v5.4.21 get this one depending on your PC x64 or x86 (but most likely x64...)
get game files
unpack bepinex ontop of the game
pub MTGA.dll into bepinex/plugins
start server process with all it asks (installing certificate is required to start a game properly from a browser process can repeat after 3 days)
127.0.0.1 in browser
create local account (doesnt rly matter what you type just to remember what you typed)
locate game directory in settings then start game

closing this out as resolved. the only thing i didnt do was do a fresh reinstall of the official Tarkov and that seemed to fix my issue. thansk for all the help!

authors: ASAPxCATZ Evelyn-SoT themaoci

repo: Make-Tarkov-Great-Again/MTGA-Backend


text:
Add a builder for Context

This commit is an implementation of a "consuming builder" for DetectContext https://doc.rust-lang.org/1.0.0/style/ownership/builders.html.
I'm looking for feedback on the high-level API. i.e., These method names:
let context = DetectContextBuilder::new("heroku-20")
    .buildpack_toml_from_string(include_str!("../examples/example-02-ruby-sample/buildpack.toml"))
    .from_temp_dir(&temp_dir)
    .build::<std::io::Error>()
    .unwrap();

detect(context);

I'm also interested in ways to improve the following problems:

The generation of errors and values inside of build() is gnarly. It works for now...but it's brute force via match, not very clean.
Ambiguous multiple value errors ("call ONLY one") don't list the values that are set, just says the developer set multiple values.
I had to add a method to toml_file.rs to get error handling to work as I wanted. Maybe we can do it without that modification.
I wrote code this to be in line with the code inside runtime.rs, which uses generics and including generic error. That means Rust needs to be able to resolve the error type even when it's not used (due to .unwrap() hence the funky:

.build::<std::io::Error>()

I talked to Terence about this, and he said since we know all the possible errors coming from this code invocation, there might be another way to split this out, but it would require refactoring how we're doing error handling in the project.

Build method is huge
The error handling was very difficult. I ended up "cheating" and adding an "Other" error type to pass in a string. I'm not sure what's a better way to do this.
app_dir and buildpack_dir don't have any existence checks. The PathBuf is not guaranteed to exist.

Thoughts:

I don't think it's possible to do this as a non-consuming builder. We would not be allowed to take any values that cannot be cloned. Right now, we're taking Platform and BuildpackToml. We could maybe re-work to require these to be clonable, but I think that's a considerable change.
I renamed the interface buildpack_descriptor to buildpack_toml as I think it's less vague. I didn't touch the DetectContext interface and left it as buildpack_descriptor.
We could get more or less magical as we choose. For instance, we could check to see if a buildpack.toml file exists based in the buildpack_dir and use it as a fallback.

There are a few ways we can reduce the match complexity in build:

Do we want a constructor that forces users to input the required args instead as having them as methods?
If we leverage enums for multiple ways to do something but you need at least, we won't need to check multiple is_some() calls

We use buildpack_descriptor because that is what it's called in the spec. I know why you changed it but I wonder if it makes sense to change it back.
I'd like to remove all of the different buildpack_toml methods. I have an idea that may work which leverages the from trait on the enum.

I have an idea that may work which leverages the from trait on the enum.

Great. I was wondering if that was possible/easy/aesthetic.

We use buildpack_descriptor because that is what it's called in the spec.

I can switch it back pretty easily.
I was also wondering how much work it would be to make P and BuildpackToml<BM> clone-able (which would allow the builder to not consume itself, I think). Then I think we could have the same builder class be able to generate both a BuildContext and DetectContext from the same entity, as a lot of the arguments overlap.

I get why you want the tempdir support, but I'm still not sold on tempdir now being a dependency for anyone pulling in libcnb.

Aside from the tempdir concern and the LibError refactor do you have any other concerns?

I'm still not sold on tempdir now being a dependency for anyone pulling in libcnb.

Manuel added a strong requirement that temp directories generated from the builder not be shared, so we need a way to generate a new directory for every build() or detect() call. We could do that by injecting a base tempdir and then creating directories in it:
use libcnb::ContextBuilder;
use tempfile::TempDir;

pub fn detect(context: libcnb::GenericDetectContext) {}

let temp_dir = TempDir::new();

let context = ContextBuilder::new("heroku-20")
    .buildpack_descriptor(include_str!("../examples/example-02-ruby-sample/buildpack.toml"))
    .create_temp_dirs_in(temp_dir.path().to_path_buf())
    .detect::<std::io::Error>()
    .unwrap();

detect(context);

Internally we create directories inside of that directory. Something like:
impl ContextBuilder
  	//...
	fn tempdir() -> PathBuf {
		let mut dir = None;
		while let None = dir { // Real code would have a timeout or a max iteration
			let tmp = self.temp_dir.join(PseudoRand::gen_string());
			if !tmp.exists() {
				dir = Some(tmp);
			}
		}
		dir.unwrap()
	}

Consequences: We can now drop tempfile requirement, we need a way to generate a random string (probably pull in a crate like rand https://docs.rs/rand/0.8.4/rand/).
Alternatives:

We could write our own tempfile implementation from scratch and vendor that. Here's the code that is used to generate temp directories in the tmpfile crate

impl TempDir {
    pub fn new() -> io::Result<TempDir> {
        Builder::new().tempdir()
    }
}

impl Drop for TempDir {
    fn drop(&mut self) {
        // Path is `None` if `close()` or `into_path()` has been called.
        if let Some(ref p) = self.path {
            let _ = remove_dir_all(p);
        }
    }
}

impl Builder {
    pub fn tempdir(&self) -> io::Result<TempDir> {
        self.tempdir_in(&env::temp_dir())
    }

    pub fn tempdir_in<P: AsRef<Path>>(&self, dir: P) -> io::Result<TempDir> {
        let storage;
        let mut dir = dir.as_ref();
        if !dir.is_absolute() {
            let cur_dir = env::current_dir()?;
            storage = cur_dir.join(dir);
            dir = &storage;
        }

        util::create_helper(dir, self.prefix, self.suffix, self.random_len, dir::create)
    }
}

pub fn create_helper<F, R>(
    base: &Path,
    prefix: &OsStr,
    suffix: &OsStr,
    random_len: usize,
    f: F,
) -> io::Result<R>
where
    F: Fn(PathBuf) -> io::Result<R>,
{
    let num_retries = if random_len != 0 {
        crate::NUM_RETRIES
    } else {
        1
    };

    for _ in 0..num_retries {
        let path = base.join(tmpname(prefix, suffix, random_len));
        return match f(path) {
            Err(ref e) if e.kind() == io::ErrorKind::AlreadyExists => continue,
            res => res,
        };
    }

    Err(io::Error::new(
        io::ErrorKind::AlreadyExists,
        "too many temporary files exist",
    ))
    .with_err_path(|| base)
}

mod env {
	pub fn temp_dir() -> PathBuf {
	    os_imp::temp_dir()
	}
}

mod os_imp {
	pub fn temp_dir() -> PathBuf {
	    crate::env::var_os("TMPDIR").map(PathBuf::from).unwrap_or_else(|| {
	        if cfg!(target_os = "android") {
	            PathBuf::from("/data/local/tmp")
	        } else {
	            PathBuf::from("/tmp")
	        }
	    })
	}
}

mod env {
	pub fn var_os<K: AsRef<OsStr>>(key: K) -> Option<OsString> {
	    _var_os(key.as_ref())
	}

	fn _var_os(key: &OsStr) -> Option<OsString> {
	    os_imp::getenv(key)
	        .unwrap_or_else(|e| panic!("failed to get environment variable `{:?}`: {}", key, e))
	}
}

mod os_imp {
	pub fn getenv(k: &OsStr) -> io::Result<Option<OsString>> {
	    // environment variables with a nul byte can't be set, so their value is
	    // always None as well
	    let k = CString::new(k.as_bytes())?;
	    unsafe {
	        let _guard = env_read_lock();
	        let s = libc::getenv(k.as_ptr()) as *const libc::c_char;
	        let ret = if s.is_null() {
	            None
	        } else {
	            Some(OsStringExt::from_vec(CStr::from_ptr(s).to_bytes().to_vec()))
	        };
	        Ok(ret)
	    }

	}
}

It's not purely that simple, but that's the gist of it. I would say that I would much rather add a dependency than re-write this code.

After thinking about this a bit more, I've come to the conclusion that this isn't something we should have in the library at this point. I understand the desire to test detect and build in a pure Rust test, but I don't think it's viable in most of the real-world use-cases outside of very simple buildpacks.
Thoughts about pure Rust tests of detect/build
detect and build are such high level functions that testing them will always be an integration test: running build is equivalent of running the whole buildpack (minus detect).
This means that any test executing build has to replicate the environment provided by the CNB lifecycle, including environment variables, operating system, filesystem state, installed tools and changes made to the environment by previous buildpacks. Some of these can be implemented, others are really hard (like the OS).
Any assertions of such a test would require observing file-system changes and other side-effects. Looking at the signature of build reveals this fact easily:
fn build(context: BuildContext<P, BM>) -> Result<(), E>

The only thing that is returned is Result<(), E>, which can have the following values:

Ok(())
Err(BuildpackSpecificErrorType)

With these types, we cannot determine if a binary has been downloaded or a build tool ran. We can check for a buildpack specific error before it's handled by the ErrorHandler but that's about it. Everything else needs to be asserted by watching for side-effects.
When we look at the input type for build (BuildContext), we can see it contains the following information:

Path to the application
Path to the buildpack
Path to buildpack.toml (which can be inferred from the buildpack directory)
Path to the layers directory
The buildpack plan generated from the set of all buildpacks involved in this build
A Platform which is an abstraction over the platform directory from the CNB spec

All of the above are either command line arguments to pack or provided by the CNB lifecycle implementation at runtime. From this, we can deduct that we effectively have to re-implement pack and the CNB lifecycle if we want to run build from inside a test written in pure Rust. I'd argue that it is not worth the effort to do so when we can just use pack and the CNB lifecycle in an integration test with a tool similar to Hatchet or Cutlass.
Instead, I suggest we direct our efforts to implement Cutlass in Rust so it is usable from Rust integration tests and ensure it can run our tests as fast as possible: enable parallel tests, enable the usage of a remote docker deamon to run many containers at once regardless of the machine the tests run on, etc.
It's imporant to note that all of the arguments above are language and library indepentent. They're an inherent part of the problem domain (buildpacks).
Thoughts about the ability to construct instances of BuildContext and DetectContext
First of all, it's already possible to create instances of both types since they and all their fields are public:
pub struct BuildContext<P: Platform, BM> {
    pub layers_dir: PathBuf,
    pub app_dir: PathBuf,
    pub buildpack_dir: PathBuf,
    pub stack_id: String,
    pub platform: P,
    pub buildpack_plan: BuildpackPlan,
    pub buildpack_descriptor: BuildpackToml<BM>,
}

pub struct DetectContext<P: Platform, BM> {
    pub app_dir: PathBuf,
    pub buildpack_dir: PathBuf,
    pub stack_id: String,
    pub platform: P,
    pub buildpack_descriptor: BuildpackToml<BM>,
}

And it's important that they can be constructed so we can use them in tests for libcnb itself. With regards to implementing a builder for them: Since all fields are required, I don't see the value.
Either the builder would have to take all required values in its new function, allowing only to override individual ones with methods of the builder or the builder can be in an invalid state where it must error out if not all fields are set. Both options look pointless to me.

I think strategically the cost/benefit of moving forward here is low-benefit, high-cost. Pulling functionality out of build and detect is trivially easy, also writing my own implementation of a mocked context wasn't hard either for people who really want to do it.
I actually think our gap right now is in unit testing. That's what motivated my work here and on https://github.com/heroku/libherokubuildpack/pull/32.
I want to get to a place where I CAN exercise all my interfaces in the Rust context in the same way that I can exercise all the interfaces of the Ruby buildpack in Ruby (yes, all of them). https://github.com/heroku/buildpacks-ruby/tree/main/spec/unit. (Also while I call them "unit" tests, they are very much testing for side effects. Ed suggested maybe calling them "rust tests" or "language tests" to perhaps be more on the same page.)
We can already get by with cutlass as-is. Ideally, we will eventually re-write it in Rust, but that's not a blocker to buildpack work.
My immediate blockers are:

0.6 support in libcnb is needed for the procfile buildpack before I can hit the definition-of-done https://salesforce.quip.com/wq0iA34PyWIO
Add cutlass support to the procfile buildpack (also needed for DoD). This isn't strictly blocked by anything but eventually we need to figure out the parallel compilation story eventually (build.sh) https://salesforce.quip.com/veWYASMAibmN#XMEAAA2k8iv.
Get a testable interface for logging upstreamed somewhere. I would like to get this nailed down before starting on the ruby buildpack in Rust as I don't want to have to rip out logging and re-add it if it changes later, also I want to start writing assertions on the log output as I view our logs as a customer interface https://salesforce.quip.com/qeFRADYvnHo5#CIVAAALZvN5

Medium term blockers

Still around unit-testing. I think we should aim to unit test the invoker buildpack https://github.com/heroku/buildpacks-jvm/tree/main/buildpacks/jvm-function-invoker.

I believe this will give us insight into either patterns we should be encouraging, or possibly opportunities to add or change libcnb interfaces. I certainly understand that types give us a lot of safety, I also want to be able to exercise code where reasonable to give faster feedback around development.
For some extra context where I'm coming from, there was a bug in our LayerContentMetadata implementation that didn't show up without being exercised. It's not that I need everything to be tested, its that I want the ability to test everything should the need arise.

Unit test other buildpacks.

David started on the PHP buildpack for instance, Lillian was working on re-writing the CNB "Ruby" example in Rust. I think going through that exercise will further inform our decisions. Eventually writing the Python, Ruby, and PHP buildpacks will be another feedback loop. My personal worry is that I don't want to invest a bunch of time on interfaces in my own buildpack if I just have to re-write them later so they can be tested.

Internal unit tests to libcnb.

Specifically the runtime and layer lifecycle. Ideally every file would have one unit test to get started so that if someone needs to add more for new functionality, they're not starting from nothing. This is actually where I think we'll need the work covered here (or something like it) as exercising runtime and layer lifecycle will require a context objects. Again, it doesn't have to specifically be this implementation: it could be a different crate, it could be an internal only struct helper class similar to procfile buildpack, etc. But I do think it will be needed.

And it's important that they can be constructed so we can use them in tests for libcnb itself. With regards to implementing a builder for them: Since all fields are required, I don't see the value.

Exactly.
Also to iterate, I'm not saying we need codecov == 100%. I am saying that writing tests is hard, and writing tests for someone else's implementation is even harder. When It came to me doing the work in this PR I didn't just have to write the logic, I also had to come up with the test strategy from scratch as BuildContext doesn't have tests https://github.com/Malax/libcnb.rs/blob/main/libcnb/src/build.rs.
For extra context, I am used to building out stub/mock data structures along side of their original implementations, which also gives me feedback into the original design. For instance when I implemented a "metadata" store https://github.com/heroku/buildpacks-ruby/blob/main/lib/heroku_buildpack_ruby/metadata/cnb.rb I also implemented a test-only version called Null https://github.com/heroku/buildpacks-ruby/blob/cac3caf0d31b4a69c6ce1743ad63b7e948a4764c/lib/heroku_buildpack_ruby/metadata.rb#L47-L51. Thinking about how I'll get data into and out of the test structure means I end up with a production structure that is more ergonomic to test.
Long/medium term

Reduced toil deploy strategy https://salesforce.quip.com/J3ZpAihiOAaZ

This doc outlines some ways we could reduce the current deploy strategy, however with some sort of a re-architecture maybe we can reduce it even further. One comment I made to Ed, was that if all the buildpacks are in Rust then we don't have to rely on ONLY code sharing between buildpacks using the build plan interface. Would that actually reduce deploy toil? I don't know, but I think that we want to start thinking about it now before we get too far down one approach to turn back.

Re-write cutlass in Rust

I think the value here is to remove a ruby dependency from the ecosystem to have N-1 languages buildpack authors need to be acquainted with to dev. In the short term, we already know it and already have it. There might be more benefits I'm not seeing, but I don't think this is where I want to invest my short term time (but also I wouldn't dissuade anyone else).
My strong preference is to have such a robust local/language/rust test story that we only need minimal integration cases. For instance in the Ruby buildpack there are only 5 cutlass tests https://github.com/heroku/buildpacks-ruby/blob/main/spec/cnb/buildpack_spec.rb while in the legacy buildpack there are 50
⛄ 2.7.4 🚀 /Users/rschneeman/Documents/projects/work/buildpacks/heroku-buildpack-ruby (main)
$ be rspec spec/hatchet --dry-run --format json | jq '.examples | length'
51

Build the tracks as we go
The "medium term" section is a bit more aspirational. I'm assuming as we do the work, it will guide us for where the next work should be done. I understand that my approach to a dynamic typeless language doesn't 100% translate, but I still see value in this approach...if there is none or if it's meaningfully different, then I'll experience it first hand and be able to update my approach as I/we go.
TLDR;
Let's close this PR out so we're all on the same page. Welcome back, I'm happy to be having some of these discussions!

And it's important that they can be constructed so we can use them in tests for libcnb itself. With regards to implementing a builder for them: Since all fields are required, I don't see the value.
Either the builder would have to take all required values in its new function, allowing only to override individual ones with methods of the builder or the builder can be in an invalid state where it must error out if not all fields are set. Both options look pointless to me.

@Malax so I'd actually push back on this point specifically. There are a decent amount of "Generic" values here. Builders also have a use IMO when you have defaults and having to do the GenericContext/GenericPlatform dance is kind of annoying. Builders can provide value if there are default fields.

authors: Malax hone schneems


text:
does not

it does not compile on save.
when is it supposed to?

Hi, can you give me more information to try to recreate it.
Atom version, you configuration comment and maybe an jade code example.
Thanks!

Hi, Atom 1.8, on osx latest, also let me know anything else, I'd love to be
able to get it to work. Here is just simplest jade:
p.
oh hi
On Sat, Jul 16, 2016 at 8:25 PM, Manuel Rueda notifications@github.com
wrote:

Hi, can you give me more information to try to recreate it.
Atom version, you configuration comment and maybe an jade code example.
Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ManRueda/jade-autocompile/issues/21#issuecomment-233163020,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATHz0kNZ_m0NvHKs4DWP24wK5mLO0HWWks5qWaCqgaJpZM4JOGoS
.

Mhhh can you send me your comment config? Because is working for me...

I'm happy to hear that it can work. Please help.
Here is the file:
"":
"atom-idle-autosave":
debounce: 2500
autosave:
enabled: true
"browser-refresh":
googleChromeCanary: true
core:
disabledPackages: [
"chrome-color-picker"
"jade-beautify"
"linter-jade"
"autocompile-jade"
"jade-autocompile"
"browser-plus"
"browser-refresh-on-save"
]
ignoredNames: [
"."
".map"
".css"
".dist.js"
".jpg"
"*.html"
]
editor:
backUpBeforeSaving: true
fontSize: 15
showIndentGuide: true
softWrap: true
"exception-reporting":
userId: "269718f1-a82c-51c4-e87c-e3c643098288"
"jade-beautify":
BEAUTIFY_ON_SAVE: true
BEAUTIFY_ON_SAVE_ALL: true
preview:
_analyticsUserId: "145730b3-2a48-4a9c-9d16-fa1c2271ba4c"
"tree-view":
hideIgnoredNames: true
hideVcsIgnoredFiles: true
welcome:
showOnStartup: false
On Sun, Jul 17, 2016 at 11:06 AM, Manuel Rueda notifications@github.com
wrote:

Mhhh can you send me your comment config? Because is working for me...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ManRueda/jade-autocompile/issues/21#issuecomment-233195188,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATHz0phvGSCpxvnUByzfj38P1mKrY26Wks5qWm8xgaJpZM4JOGoS
.

No, look the README.md file, you need to put a comment in the first lines to make it work. I need those comments.

I'm sorry, I'm not able to follow. I installed your project via 'atom gui
install'. There is no config there.
I'm now reading the read me file on home page of git and I don't
understand, not even the first line. 'The two first comment blocks of file
can be used to pass parameters to the compiler.'
I have installed other atom packages w/o a problem, like auto save, or f5
for browser refresh, they work.
Where would such a comment block be?
Here is what I see, just so you can see how lost I am.
help.
[image: Inline image 1]
On Sun, Jul 17, 2016 at 3:22 PM, Manuel Rueda notifications@github.com
wrote:

No, look the README.md file, you need to put a comment in the first lines
to make it work. I need those comments.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ManRueda/jade-autocompile/issues/21#issuecomment-233207674,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATHz0iEnBivofzMEaUU3I9FBuhGWroI4ks5qWqsNgaJpZM4JOGoS
.

Got it. (other things had a gui config. It seems odd to edit a readme file).
So still no joy, I edited like so, just removed the comment:
jade-autocompile package [![Build Status](
https://travis-ci.org/ManRueda/jade-autocompile.svg?branch=master)](https://travis-ci.org/ManRueda/jade-autocompile
)
Auto compile JADE files on save
Atom package site
Configuration
The two first comment blocks of file can be used to pass parameters to the
compiler.

The first one must have the name of the output html file, like this:

output:$1.html
If you avoid this comment, the file is omitted by the compiler.

On Sun, Jul 17, 2016 at 3:38 PM, Manuel Rueda <notifications@github.com>
wrote:

> The README file can be accessed by Atom's Package Installer. Atom uses the
> README file as a "front-page" for each package.
>
> This package require to put a comment in the jade file to be compiled.
> This comment will tell to the package the location to put the html file,
> the name and other things.
>
> I hope that this will clarify your doubts.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/ManRueda/jade-autocompile/issues/21#issuecomment-233208363>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/ATHz0rZm5kP_wHdx_pDWvplQk420DT4Xks5qWq7YgaJpZM4JOGoS>
> .
>

No, you don't need to edit the README file, you need to edit your jade file. With the comment as the example in the README

Oh. OK. It works!
I would have docs say this, instead of Configuration, since there is no
Configuration:
" To compile, your jade file must have comments in the first line like
this:
...."
THANK YOU! Nice plug in.
Vic
On Sun, Jul 17, 2016 at 3:54 PM, Manuel Rueda notifications@github.com
wrote:

No, you don't need to edit the README file, you need to edit your jade
file. With the comment as the example in the README
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ManRueda/jade-autocompile/issues/21#issuecomment-233209062,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATHz0vU3_ynkvmSc9kYL58i3TA4eK9qGks5qWrKfgaJpZM4JOGoS
.

authors: ManRueda vicMasons

repo: ManRueda/jade-autocompile


text:
Bug fix for invalid values in permissions

Check the values in permissions and raise 422 HTTP error

@lindgrenj6 can you take another look?

authors: mkanoor syncrou

repo: ManageIQ/catalog-api


text:
GCE appliance for upstream

Changes to build gce appliance

@Fryguy I had created and tested an upstream GCE appliance using these changes.
I also created and tested a vsphere appliance with these changes to make sure existing builds are still okay.

@simaishi Please review.

@Fryguy I helped John with the changes, so I won't be good as a reviewer.

@JPrause Any update on this?

@Fryguy @simaishi  all caught up and rebased. Thanks a million @bdunne

@JPrause This PR is now reverting some of the changes made in https://github.com/ManageIQ/manageiq-appliance-build/pull/144.  We're now using imagefactory HyperV plugin and no longer running qemu-img directly for HyperV.

@JPrause @Fryguy see new upstream support for GCE :)
https://github.com/redhat-imaging/imagefactory/pull/377
I was planning to submit a separate PR for that.

@geertj @simaishi @Fryguy does that mean this PR can be closed,..and Geert's change will suffice?

Either this PR needs to be updated to use the new upstream support in imagefactory (probably just 1 line change by adding to targets.rb, and update the tests), or I can put in a separate PR. I'll be hacking a bit on GCE this weekend so I'd be happy to put in a new PR.  @JPrause let me know what you prefer.

@geertj it would really help and make sense if the gce changes came in your PR. I'll close this one if that's agreeable. @simaishi is that okay with you?

A new PR using the GCE plugin sounds good!

Closing this PR since @geertj will be submitting one with improvements.

authors: Fryguy JPrause geertj simaishi

repo: ManageIQ/manageiq-appliance-build


text:
Split policy-set.yml (AKA policy profiles) into different files to process by policy seed

As discussed in  https://github.com/ManageIQ/manageiq/pull/15453 with @durandom it would be very useful to provide user data to split the current policy-set file into different files as we do in the reports

@miq-bot assign @durandom

authors: durandom vestival

repo: ManageIQ/manageiq


text:
[RFE] Hide the token details from evm.log file while adding/modifying Container Provider

Description:
While adding a new Container Provider / modifying the token details of an existing Container Provider, the token value gets displayed in the evm.log file.
evm.log:
while adding new provider:
[----] I, [2015-09-03T13:20:01.933707 #2900:cf7998]  INFO -- :  MIQ(EmsCommon.create) userid: [admin] - [Kubernette] Record created (name:[Kubernette], provider_region:[], hostname:[10.10.10.10], emstype:[kubernetes], port:[6443], provider_id:[], security_protocol:[kerberos], zone:[default], default_userid:[], default_password:[], metrics_userid:[], metrics_password:[], amqp_userid:[], amqp_password:[], ssh_keypair_userid:[], ssh_keypair_password:[], bearer_token:[token-value-gets-displayed-here], ipaddress:[])
While editing the token for an existing Container Provider:
[----] I, [2015-09-03T13:23:21.572872 #2900:cf7998]  INFO -- :  MIQ(EmsCommon.update_button_save) userid: [admin] - [Kubernette] Record updated (bearer_token:[old-token-value] to [new-token-value])

@miq-bot add_label providers/containers
@miq-bot add_label bug

@zakiva can you look at this? The bearer_token value should be hidden in the log. Thanks.

authors: rananda simon3z zeari


text:
Fix live metrics names from Hawkular Services

New version of Hawkular Services modified the native metrics names used in ManageIQ.
This PR updates the configuration files with the mapping between new native metrics names from Hawkular and virtual column names used in live metrics context.
Fixes #10185

@miq-bot add_label bug,providers/hawkular

LGTM,  is needed for Hawkular-services 0.0.7 on, which was released today.
@miq-bot assign @chessbyte
Btw: not sure if Bug is the right category, as this just follows a change in the managed product.

Ok, this is missing spec updates :-/. Re-assigning back
@miq-bot assign @lucasponce

@lucasponce @pilhuhn I think we should use the metric.type.id instead of using metric.name (see this)
Metric.name could suffer from changes due to i18n which could break it.

@josejulio good catch, I wasn't aware that the metric.name could be under i18n, yes, metric.type.id is the good way to do, I will update this one.

I18N does not happen by accident. And right now I don't see that coming. We should not focus on it.

@miq-bot remove_label bug
@miq-bot add_label wip

@miq-bot remove_label wip

@pilhuhn Sorry, specs tests were forgotten in the previous PR.
Now it is synced with new tests validating this one.
Please, could you give a final review ?
Thanks.

@miq-bot assign @chessbyte
@miq-bot label darga/no

authors: josejulio lucasponce pilhuhn


text:
Fix filtering by registry in reports

Purpose or Intent
Fixes https://github.com/ManageIQ/manageiq/issues/10436.
Generation a report with Registry condition is throwing error message(https://github.com/ManageIQ/manageiq/issues/10436)
It looks like we should return false in method MiqExpression#sql_supports_atom?(exp)
This was throwing an error:
 exp = {"=" => {"regkey" => "test", "regval" => "value", "value" => "data"}}
 MiqExpression.new(exp).to_sql

For filtering this in RBAC, there are loaded relations with RegistryItem table and then it is filtered in https://github.com/ManageIQ/manageiq/blob/master/lib/rbac/filterer.rb#L213
Links
https://github.com/ManageIQ/manageiq/issues/10436
Steps for Testing/QA

Run report with filtering as is shown in https://github.com/ManageIQ/manageiq/issues/10436

@imtayadeway
@miq-bot assign @gtanzillo
@miq-bot add_label reporting, bug

@imtayadeway thanks 👍


text:
container provider: adding a link to hosted kibana

Adding a link to kibana that is hosted on the provider using a route named logging-kibana if that route exists.

Currently it opens to Openshifts login page and then proceeds to kibana after a login. I am not sure if we can somehow give the user the credentials of some user automatically and which user we want to try to login as.

@enoodle please add a screenshot.

@enoodle we'll discuss this during our meeting next week.
Any way to grey the button if the route is not present?

@simon3z I made it disabled when the route is not present.  I am not sure that I did it in the best possible way because I had to add a method to ManageIQ::Providers::Openshift::ContainerManager that I am also not sure how to access from the controller so I ended up with a duplicated method.
@alongoldboim @yaacov any advice?

FYI @portante
We'll have to put this probably in a grander scheme.

@miq-bot add_label wip
something got broken with the button, I am trying to figure it out now.

Currently simple buttons can't have text anymore untill https://github.com/ManageIQ/ui-components/pull/15 will be in a new version of ui-components in ManageIQ.
This PR is not urgent so I will wait with it until then.

@enoodle I haven't checked, is there any way to grey this button in case the kibana route is not available?
@dclarizio @serenamarie125 can you check the UI part? Any comment/suggestion?
@miq-bot assign enoodle

@simon3z When the button is disabled its also grayed out. Ill add screen shots (although they don't look well without this patch to the UI components)

@martinpovolny @himdel can you review?

Looks good to me.
Should this still be a WIP?

Should this still be a WIP?

Probably not. cc @enoodle

@martinpovolny because without the UI components update there is no text to the button and its not clear what it does I thought to wait for the UI components new version and then merge this one. If you think its acceptable to merge in the current condition then we can remove the wip tag.

@enoodle can you rename some of the methods to be more generic? E.g. using the term logging or common_logging instead of the specific tool (kibana)?

@simon3z I changed the names to common_logging. I also added supports :common_logging to prevent this button from being displayed on providers that doesn't support common_logging (In case someone uses the kubernetes provider)

@miq-bot remove_label wip

@miq-bot remove_label wip

This now supports authenticating to elastic search with the provider's token. The nodes button also will jump to kibana with a search specific for that node.

Now kibana searches for the node's hostname which is how it is sent from fluentd instead of fqdn.
@simon3z This patch is ready to be reviewed, PTAL
@martinpovolny I added new JS code here, I think that it should be reviewed.

@enoodle please involve also @serenamarie125 @epwinchell @dclarizio for the UX/UI side (the button that was added).
On the technical side... is this including SSO or no? (Didn't review yet)

Yes this includes sso
On Nov 2, 2016 8:28 PM, "Federico Simoncelli" notifications@github.com
wrote:

@enoodle https://github.com/enoodle please involve also @serenamarie125
https://github.com/serenamarie125 @epwinchell
https://github.com/epwinchell @dclarizio https://github.com/dclarizio
for the UX/UI side (the button that was added).
On the technical side... is this including SSO or no? (Didn't review yet)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ManageIQ/manageiq/pull/10648#issuecomment-257956575,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC-ogCgKR74igP98m2egiQW-I0hofkbhks5q6NY5gaJpZM4JpQrM
.

Yes this includes sso

@enoodle since this includes SSO then it must be reviewed carefully. Please walk through this with @bazulay. I am particularly worried that the secret token we hold in ManageIQ is leaked somewhere (e.g. you pass it to the client browser, etc.).

@enoodle have you reviewed this with @bazulay ?

@simon3z Not yet.

closing for https://github.com/ManageIQ/manageiq/pull/13319 and https://github.com/ManageIQ/manageiq-ui-classic/pull/36

authors: enoodle martinpovolny simon3z


text:
Automate - fixed problem with request_pending email method.

Fixed reported problem with email method.
Updated method servicetemplateprovisionrequest_pending.
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1377105

@tinaafitz
Please Review

@billfitzgerald0120 Looks good.
@mkanoor Please review.

@billfitzgerald0120 The same issue exists in servicetemplateprovisionrequest_denied.rb

@gmcculloug
Please Review

Euwe Backport details:
$ git log
commit ffcde246a3b41f81057d8d10fb598af4dd9c4641
Author: Greg McCullough <gmccullo@redhat.com>
Date:   Wed Sep 28 16:00:48 2016 -0400

    Merge pull request #11405 from billfitzgerald0120/servicerequestpending_email

    Automate - fixed problem with request_pending email method.
    (cherry picked from commit 1e6b4b3763f72fdd1b15baaad6f62698eac26fbe)

Darga BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1379693

Darga Backport details:
$ git log
commit 13ede3581e7289be4269159e78f4d13493c8bc0f
Author: Greg McCullough <gmccullo@redhat.com>
Date:   Wed Sep 28 16:00:48 2016 -0400

    Merge pull request #11405 from billfitzgerald0120/servicerequestpending_email

    Automate - fixed problem with request_pending email method.
    (cherry picked from commit 1e6b4b3763f72fdd1b15baaad6f62698eac26fbe)

    https://bugzilla.redhat.com/show_bug.cgi?id=1379693

authors: billfitzgerald0120 chessbyte gmcculloug tinaafitz


text:
Add an EmsFolder#vm_folder? method indicating if a folder can have vm children

Add a EmsFolder#vm_folder? method returning if a folder is able to
have child vms.
This checks if the folder is or has as an ancestor the hidden "vm"
folder.  All other folders are considered "yellow" and are unable to
have vms as children.
Fixes https://github.com/ManageIQ/manageiq/issues/19104

cc @Fryguy @skateman

So I didn't want to call this blue_folder? because that is very VMware specific, and if you haven't used the old J# vSphere Client you wouldn't even know what a blue/yellow folder is.
I settled on vm_folder? to indicate if the folder can be a parent to VMs but I'm open to other ideas.

cc @kbrock as you've has some experience here as well

LGTM, aside from my one comment.

authors: Fryguy agrare


text:
Simplify MiqAction#round_to_nearest_4mb a little

I also added some tests in order to prove it works the same way it worked before this commit.

@gmcculloug @gtanzillo @kbrock @Fryguy @matthewd Please review

@DNNX Thanks for another PR to help make our code cleaner!

authors: DNNX chessbyte


text:
Add extraProps attributes to form components.

I've started convert Report Editor into React and I want to do it gradually and for that I need to use original solution for sending form data for now. That's the reason why I need to pass data attributes to form components.
I created a new prop called data which spreads all data attributes to input. I did not want pass every prop to inputs so that's why i created isolated prop.

@miq-bot add-reviewer @himdel
@miq-bot add-reviewer @ZitaNemeckova
@miq-bot add-reviewer @Hyperkid123

I created a new prop called data which spreads all data attributes to input. I did not want pass every prop to inputs so that's why i created isolated prop.

So, this is confusing...
As the PR is now, you can use data to add any extra props to the final component.
And, if you want to provide data-* attributes, you need to repeat the data- in the key.

So... 2 possibilities I think:

either this should be for data attributes only, but then we should be able to do data="{{ foo: 5 }} and end up with data-foo="5" in html
or this is just extra props, but then let's call it extraProps or something like that, to avoid confusion with data-* attributes

Otherwise, makes sense :+1: :)

thanks for your review and the second option with renaming sounds good to me.

@doruskova We can probably close this one, right?
Since you won't need the data attributes after all?

@himdel
yes, it can be closed 👍

authors: doruskova himdel

repo: ManageIQ/react-ui-components


text:
Defining package hosts

Right now it's just assuming that the package is on github, pypi for python and npmjs for node.
Would make more sense to just define package host URLs in metadata.json
Would remove need for the owner parameter.
The correct package host class would just be determined from the URL.

Would need to separate dev: (github) from publish (pypi, npmjs)
How would django even be defined?

repo: ManderaGeneral/generalpackager


text:
Specification of tex_template via CLI and config broken

Starting in 0.16, it seems that most ways of using tex templates has stopped working.  To reproduce, use this "scene":
class Test(Scene):
    def construct(self):
        t = MathTex("\\bm t")

with this template:
\documentclass[preview]{standalone}

\usepackage{amsmath}
\usepackage{bm}

\begin{document}

YourTextHere

\end{document}

When using a config file or the command line argument --tex_template, this works on 0.15 but not on 0.16.  It still works correctly if you manually specify the tex template to the constructor of MathTex.

Thanks for the report! Just to clarify: neither setting it in a local config file, nor passing the --tex_template flag via the command line interface works correctly?
As a workaround you could run MathTex.set_default(tex_template=your_template). I'll try to investigate this, sorry for the inconvenience.

Thanks for the report! Just to clarify: neither setting it in a local config file, nor passing the --tex_template flag via the command line interface works correctly?

Yes, that's correct.

I think I might have a solution for this; some changes are proposed in #2888. Work in progress (but feel free to test and see whether it solves your problem).

authors: behackl sudgy

repo: ManimCommunity/manim