[SPARK-11082][YARN] Fix wrong core number when response vcore is less than requested vcore

This should be guarded out and use response vcore number, this will be happened when use DefaultResourceCalculator in capacity scheduler by default.

Merged build triggered.

Merged build started.

Test build #43639 has started for   PR 9095 at commit 5fb7413.

Test build #43639 has finished for   PR 9095 at commit 5fb7413.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/43639/
Test PASSed.

Merged build finished. Test PASSed.

CC @sryza @vanzin seems reasonable to make sure it's actually allocating what YARN said it could?
Is this really the extent of the assumption though? it seems like Spark is otherwise, elsewhere assuming the number of cores it wanted was the number of cores it got.

@srowen , not sure what exactly you mean?
From what I know in CoarseGrainedSchedulerBackend, it will manage the executors with cores available, this number of cores is reported by executor when get launched and registered in driver. And executor gets the number of cores through argument specified in launching command, if we specify the wrong cores, driver will also get the wrong cores, that will be different from what we see in the cluster manager's aspect.

Gotcha. This is probably my ignorance/misunderstanding then. As long as this is the only place the fact that the requested amount wasn't the same as the granted amount.
Does the same thing happen with  memory?

So actually against this change. It breaks backwards compatibility and I think the current behavior is what we want.
@jerryshao  why do you think this is a problem?
If YARN doesn't schedule for cores then the options are to limit it to what it gives you (which is 1 simply as a default since it isn't managing them) or allow SPARK to go ahead and use what the user asked for.  The way it is now (without this patch)  it allows spark to use more then 1 since the scheduler can't schedule them.  Its up to the user to do something reasonable.  Otherwise there is no way to allow spark to use more then 1 core with the DefaultResourceCalculator which I think would be a limitation.

But from yarn's side actually only allocated 1 vcores, whereas in the driver side, it notified with more than 1 cores when executor get registered, this is not consistent and break the semantic of "resource", driver will schedule more than 1 tasks to this executor simultaneously, but the actual parallelism is only 1.

If user want to set executor cores more than 1, user should choose dominant scheduler calculator, that will keep consistent both in spark and yarn side.

Actually YARN doesn't allocate any. The only reason it reports 1 is because cpu scheduling is disabled and its trying to return something reasonable.YARN does not limit you to 1 core.
Before the cpu scheduler was available this is the only way to get more then 1 core for your application and if you are on an older version of hadoop you didn't have the cpu scheduler as an option.  Basically if yarn isn't managing then its up to the user to do something reasonable with that resource.

Sometimes its not up to the user what scheduler they user.  Like in our case cluster admins choose what its running and users just use it.  They have to use whatever scheduler is provided.  If the cluster admins want to enforce cpu usage then they need to enable cpu scheduling. If cpu scheduling isn't on then they have to go smack users that abuse it.

Yeah, I get it, thanks a lot for your explanation, still from user' point, it may easily get confused, maybe we should document this difference.

There's related discussion about this in https://issues.apache.org/jira/browse/SPARK-6050 and the respective PR (#4818).

yes its really more a YARN problem then a SPARK problem.  Ideal the YARN side wouldn't show cores at all if you aren't using a scheduler that does cores, but that is kind of hard because you can write your own scheduler that does anything.
I'm fine with documenting but if you look at the running on yarn page it already has the below under important notes:
Whether core requests are honored in scheduling decisions depends on which scheduler is in use and how it is configured.
If you have ideas on making that documentation better I'm fine with it.

Thanks a lot @tgravescs and @vanzin , looks like it is a intention to do such way, greatly appreciate your explanation, I will close it.

From a user point of view the closure of this issue as-is is unacceptable. I cannot understand why one would allow wrong job accounting for the executors as reported in Yarn. This could affect the integrity of an entire cluster due to over scheduling.
Part of the discussion goes about explaining how to fix it with a different resource scheduler - of which I do not understand the details - but there was no documentation to be found.
I am looking at a pretty big cluster for a pretty big company with a lot of yarn scheduled jobs running on it - this worries me. It is pretty common to have executors running with 32 vcores or more, and when running with that much on one node - I have to be sure that yarn does not schedule anything else in.

@jdesmet you did not understand what this PR was about. Nothing you're saying is affected by this PR. Accounting of core usage in YARN is not changed. Please read the whole discussion and linked PRs to understand why this doesn't affect any accounting at all.

Humbly, I think I understood what this PR was about. I probably (still) do not understand some of the reasoning as to why we can't report the correct vCores even if the default resource calculator does not support it, and vCores is not used. The thread seemed to suggest it is possible, and was actually attempted in some modifications that were undone. Don't take it as I am saying it's wrong, it is probably just that you have a better understanding of it. However nothing against documenting it further?
Also as to confirm - making sure I am not misunderstanding anything, as per the threads and documentation, to get it to work based on vCore resource allocation, following steps need to be accomplished:

Use the CapacityScheduler: in conf/yarn-site.xml, set yarn.resourcemanager.scheduler.class to org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler.
Modify the resource-calculator, to one that supports using vCores: set yarn.scheduler.capacity.resource-calculator to org.apache.hadoop.yarn.util.resource.DominantResourceCalculator.

Probably we need to file a bug to get the hadoop documentation fixed from DefaultResourseCalculator to DefaultResourceCalculator.

why we can't report the correct vCores

@jdesmet Spark is not reporting anything, and that's the part you are confused about. YARN does all its accounting correctly. If Spark were able to influence YARN's accounting, that would be a huge bug in YARN.

However, memory reported in yarn ui on the containers seems to largely match with what I declared to use for the spark executors. Also capacity scheduler does have the option to use a resource calculator capable of accounting for cpu utilization. That makes me to (wrongly?) assume that capacity scheduler can take into account (measured?) memory and CPU utilization.
Sent from my iPhone

On May 2, 2016, at 10:39 AM, Marcelo Vanzin<EMAIL_ADDRESS>wrote:
why we can't report the correct vCores
@jdesmet Spark is not reporting anything, and that's the part you are confused about. YARN does all its accounting correctly. If Spark were able to influence YARN's accounting, that would be a huge bug in YARN.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

@jdesmet , by default if cpu scheduling is not enabled in yarn, what you saw on yarn's web UI about vcore usage (1 per container) is actually meaningless, I think that makes you confuse because what you specified is a different number, but there in yarn it only shows 1 core.
This is only a yarn ui issue that is quite misleading if cpu scheduling is not enabled, internally in yarn's scheduling all the resource accounting is correct.


Runtime Error

Hey Louis,
first of all a big thanks for this amazing peace of software! <3
We are using goflow2 with your sample enricher as a simple POC pipeline for sFlow. We are only using Juniper gear (MX480, MX204). Today we stumbled upon the following problem...
Execution:
/root/goflow2/goflow2 -transport.file.sep= -format=pb -format.protobuf.fixedlen=true | /root/goflow2/enricher -db.asn /root/goflow2/GeoLite2-ASN.mmdb -db.country /root/goflow2/GeoLite2-Country.mmdb -transport.kafka.brokers=localhost:9092 -transport=kafka -transport.kafka.topic=flows -format=pb -format.protobuf.fixedlen=true
Error:
INFO[0000] Starting collection                           hostname= port=6343 scheme=sflow
INFO[0000] Starting collection                           hostname= port=2055 scheme=netflow
INFO[0000] Starting enricher

[root@flowtest ~]# ERRO[2006] proto: cannot parse invalid wire-format data
ERRO[2006] proto: cannot parse invalid wire-format data
panic: runtime error: slice bounds out of range [:9] with capacity 4

goroutine 1 [running]:
main.main()
        /root/goflow2/cmd/enricher/main.go:166 +0xdc5
[root@flowtest ~]#

I am not sure if we have hit some issue with goflow or if it is related to Junipers crappy sFlow implementation...
We have just pulled the latest code from the main branch to check if your latest commit was our problem. Problem still exists...

Hello,
It's an issue with the enricher, thank you for reporting the bug! I have come up with a fix in branch bugfix/enricher (more details on #67).

Thanks a lot. I will test it locally and report.

Since your fix there have been no further issues. It is now running stable since three days.

Merged. Closing this.


Inference does not work

Running the code i notice that it gets to the inference part but never results in anything happening. It just stops at this:
2019-03-18 10:24:53.312 16104-16127/? I/imagesegmenter: MainActivity: Preparing image 7 for detection in bg thread.
2019-03-18 10:24:53.336 16104-16126/? I/imagesegmenter: MainActivity: Running detection on image 7
2019-03-18 10:24:54.223 16104-16112/pp.imagesegmenter I/zygote64: Do partial code cache collection, code=51KB, data=45KB
2019-03-18 10:24:54.224 16104-16112/pp.imagesegmenter I/zygote64: After code cache collection, code=51KB, data=45KB
2019-03-18 10:24:54.224 16104-16112/pp.imagesegmenter I/zygote64: Increasing code cache capacity to 256KB
2019-03-18 10:24:54.224 16104-16112/pp.imagesegmenter I/zygote64: Compiler allocated 6MB to compile void android.view.ViewRootImpl.performTraversals()
2019-03-18 10:24:58.191 16104-16112/pp.imagesegmenter I/zygote64: Do full code cache collection, code=123KB, data=90KB
2019-03-18 10:24:58.192 16104-16112/pp.imagesegmenter I/zygote64: After code cache collection, code=95KB, data=60KB
2019-03-18 10:25:01.896 16104-16112/pp.imagesegmenter I/zygote64: Do partial code cache collection, code=111KB, data=78KB
2019-03-18 10:25:01.896 16104-16112/pp.imagesegmenter I/zygote64: After code cache collection, code=111KB, data=78KB
2019-03-18 10:25:01.896 16104-16112/pp.imagesegmenter I/zygote64: Increasing code cache capacity to 512KB

I found something that points in the direction of the solution. https://github.com/tensorflow/tensorflow/issues/25657
When i disable the GPU delegate, the segmentation runs correctly, somehow running GPU delegate on a separate thread blocks the "run" thread from executing forever

@samuelprince77
Thanks for trying out the GPU delegate.  Yeah, the delegate's initialization thread & the delegate's invoke thread needs to be the same, so that the EGLContext is valid.


Fix original shape matching with crop

Let's say diff=-3 which is negative, then we got left = diff // 2 =  -2 and right = diff - left = -1.
The correct cropping operation should be result.z[..., 2:-1] instead of result.z[..., -2:1]

@leng-yue

LFTM


Add strict mode

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

72 of 72 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 99.811%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
473

Relevant Lines:
473

💛  - Coveralls


[BUG]:  Curve generation script not working

Description
Please provide a clear and concise description of the bug.
Reproduce
Please list the steps to reproduce the issue.
Expected Behavior
Please provide a clear and concise description of what you expected to happen.
Environment
Please complete the following information:
OS + Version:
Cargo Version:
GPU type:
Additional context
Please provide any additional context that may be helpful in confirming and resolving this issue.

We made quite a bit of changes to the script in recent times, did in solve the issue @ImmanuelSegol? Does this being in Done mean it can be closed?


Task: Support ttk add plugin

Overview
Closes #5751
Notes

if the provided path does not exist, it is created. If that doesn't work, the temporary folder is used.

@calebkiage the sonarcloud issue had been previously resolved but it didn't refresh.
I've seen and actioned the other comments. I will add tests as a separate issue. It made sense to me at the that the tests were still passing


HTTPS  is not supported in the current flasgger version

it seems that there is an issue regarding the HTTPS  for swagger ui that was solved in more advanced version
https://github.com/swagger-api/swagger-ui/issues/3166
so currently flasgger also does not support the HTTPS  api requests .

Ok, so it is time to update the swagger UI, will do that today

@rochacbruno. Thanks for the quick response on the issue. But by what time we shall expect the fix of this issue ?

@VjSng swagger UI updated and released, please test it and if ok pelase close this issue

@rochacbruno. I am still facing the same issue even though I have updated flasgger to the latest version i.e. 0.6.6.

I am using these settings. Even though the schemes tag has only "https", I am unable to use https request type in flasgger.
template = {   "swagger": "2.0",   "info": {     "title": "API ",     "description": "list of API that can used from external service",     "contact": {       "responsibleOrganization": "AIO",       "responsibleDeveloper": "TBD",     },     "termsOfService": "TBD",     "version": str(dpm_version)   },   "schemes": [     [            "https"     ]   ],   "operationId": "getmyData" }

@rochacbruno. I have just upgraded from 0.6.5 to 0.6.6. Is this the version which has the Fix ?

@VjSng yes 0.6.6 has the latest swagger-ui

@VjSng Does the fix you mentioned was released for SwaggerUI 2? Give SwaggerUI 3 a try:
app = Flask(__name__)
app.config['SWAGGER'] = {
    'title': 'API',
    'uiversion': 3
}
swagger = Swagger(app)

@VjSng Yet, "schemes": [ [ "https" ] ] shouldn't be "schemes": [ "https" ]?

@rochacbruno  and @allrod5. Thanks it's working fine now :)

@VjSng jsut for the record, it was a problem with "schemes": [ "https" ]? or are you using ui: 3 ?

@rochacbruno The problem was with the ui:3.

This is working for me for both http and https, for both ui2 and ui3.  Based on that I'm closing the issue - @pint12 and others please reopen if this remains an issue.  /cc @rochacbruno .


High Level Assembly language is not recognized

Hello dear moderators. I have a repository with *.hla files, which is source code from the High Level Assembly programming language, also known as simply HLA. I would like them to show up as just Assembly, although it would also be good if High Level Assembly would be created as a separate designation.. But unfortunately Github does not mark the programming language in my repository. Please dear moderators fix this issue.

Language name
High Level Assembly (a variant of Assembly Language)
URL of example repository
https://github.com/Krebrov001/HLA-Projects
URL of syntax highlighting grammar
https://github.com/Krebrov001/HLA-Projects/blob/master/hla.xml
https://github.com/jmahler/hla.vim
Most popular extensions
*.hla

Detected language
Currently any *.hla files are not being detected as any language at all.

Here are some links about High Level Assembly:

https://en.wikipedia.org/wiki/High_Level_Assembly
https://www.plantation-productions.com/Webster/

Here are some links about High Level Assembly:

https://en.wikipedia.org/wiki/High_Level_Assembly
https://www.plantation-productions.com/Webster/

Pending popularity: https://github.com/github/linguist/pull/5194#issuecomment-775815857

@Nixinova Here is another example of syntax highlighting grammar, for vim text editor:
https://github.com/jmahler/hla.vim

https://github.com/jmahler/hla.vim/blob/master/syntax/hla.vim


[meta][pylint] ignore too-few-public-methods

Change:

Add too-few-public-methods to the list of ignores
Remove now-needless disables of this lint check

This check isn't very helpful; there are many cases a class might not have
many or any public methods, such as subclassing a class for the purpose of
type-safety and wanting a runtime representation of it (i.e., not using
NewType).
Test Plan:

pre-commit run -a pylint

Signed-off-by: Rick Elrod<EMAIL_ADDRESS>
After this, these are the most ignored lint checks:
rick@mba ansible-navigator % grep 'pylint: *disable=' src tests docs share -R | cut -d# -f2 | cut -d= -f2 | sort | uniq -c | sort -nr
  33 unused-argument
  22 too-many-branches
  21 too-many-arguments
  13 too-many-instance-attributes
  11 protected-access
  10 too-many-locals
   8 preferred-module
   7 too-many-statements
   6 cyclic-import
   5 invalid-name
   4 broad-except
   2 too-many-nested-blocks
   2 no-self-use
   2 attribute-defined-outside-init
   1 unused-import
   1 too-many-return-statements
   1 too-many-public-methods
   1 too-many-ancestors
   1 super-init-not-called
   1 redefined-builtin
   1 no-else-return
   1 import-outside-toplevel
   1 import-error
   1 expression-not-assigned
   1 dangerous-default-value

I wonder if changing the setting to min-public-methods = 1 (instead of the default of 2) could be done instead of disabling it all together: https://pylint.pycqa.org/en/latest/technical_reference/features.html#design-checker-options.


Your requirements could not be resolved to an installable set of packages.

Hi,
Could you help me ?
Is compose.json file up to date ?
thx !
-------------------------- here my error ---------------
php composer.phar up
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Conclusion: remove symfony/symfony v2.6.11
- Conclusion: don't install symfony/symfony v2.6.11
- Conclusion: don't install symfony/symfony v2.6.10
- Conclusion: don't install symfony/symfony v2.6.9
- Conclusion: don't install symfony/symfony v2.6.8
- Conclusion: don't install symfony/symfony v2.6.7
- Conclusion: don't install symfony/symfony v2.6.6
- Conclusion: don't install symfony/symfony v2.6.5
- Conclusion: don't install symfony/symfony v2.6.4
- Conclusion: don't install symfony/symfony v2.6.3
- Conclusion: don't install symfony/symfony v2.6.2
- Conclusion: don't install symfony/symfony v2.6.1
- lexik/paybox-bundle dev-master requires symfony/options-resolver ~2.7 -> satisfiable by symfony/options-resolver[v2.7.0, v2.7.1, v2.7.2, v2.7.3].
- lexik/paybox-bundle dev-master requires symfony/options-resolver ~2.7 -> satisfiable by symfony/options-resolver[v2.7.0, v2.7.1, v2.7.2, v2.7.3].
- don't install symfony/options-resolver v2.7.0|don't install symfony/symfony v2.6.0
- don't install symfony/options-resolver v2.7.1|don't install symfony/symfony v2.6.0
- don't install symfony/options-resolver v2.7.2|don't install symfony/symfony v2.6.0
- don't install symfony/options-resolver v2.7.3|don't install symfony/symfony v2.6.0
- Installation request for symfony/symfony 2.6.* -> satisfiable by symfony/symfony[v2.6.0, v2.6.1, v2.6.10, v2.6.11, v2.6.2, v2.6.3, v2.6.4, v2.6.5, v2.6.6, v2.6.7, v2.6.8, v2.6.9].
- Installation request for lexik/paybox-bundle dev-master -> satisfiable by lexik/paybox-bundle[dev-master].

Hi,
Apparently your project uses Symfony 2.6 so you must use a version 1.* of this bundle (the last tag being 1.1.0). The current master branch and 2.* tags require Symfony 2.7 minimum.
Does it help ?

Yes everything is ok now !
Thanks for your help and sharing


make_addressPrefix(): Fix a memory leak in error case

Fixes #24098

This pull request is ready to merge

Merged to all the active branches. Thank you for the reviews.


lsp diagnostics not updating (LSP & null-ls)

Sometimes, after a while editing a typescript files, the typescript/eslint error messages doesn't go away, even though I have fixed the error.
The root cause of this issue maybe due to the conflict of null-ls diagnostic and LSP.
The null-ls eslint diagnostic source is enabled here:
https://github.com/Avimitin/nvim/blob/56b31c7f45d0331170255ac5c02c8c757d9292f1/lua/overlays/rc/null_ls.lua#L12
Some search results:

Fix for diagnostics not updating issue
LSP Diagnostics sometimes not being cleared

I will keep searching for a solution.

This is annoying... I don't write React for a long time so I don't know what's happening. I will digging it out this weekend.

This prove that the issue comes from the conflict of null-ls and lsp.

There are to incorrect error reporting:

comes from lsp, FRIEND_REQUEST_ID is used in the below code, but it is reporting declared but not used.
The yellow line is reported by eslint, we can see it seems is not synced the buffer with null-ls, I have fixed FRIEND_REQUEST_I to FRIEND_REQUEST_ID.

I have done 'save' action and insert-leave action.

More debug info update.
I have set update_in_insert = false in lspconfig. and update_in_insert = false in null-ls config.
https://github.com/Avimitin/nvim/blob/56b31c7f45d0331170255ac5c02c8c757d9292f1/lua/overlays/rc/lspconfig.lua#L68
The null-ls works in expect, but lspconfig with volar doesn't.
So, in editing file, after trigger an error like var abc is defined but not used, and i trigger a save without leaving insert-mode(custom keymap ctrl-s), the lspconfig immediately cleared the ts errors. but null-ls doesn't. If I press  to leave the insert-mode, the null-ls will update the diagnostics.


Music cog not loaded!!

[{'DiscordCogs.MusicCog': ExtensionFailed("Extension 'DiscordCogs.MusicCog' raised an error: TypeError: 'type' object is not subscriptable")}

No I didn't made any changes at all....
I tried to host the bot on https://railway.app/ and it didn't work :/

ok uhm... I tried running it locally and it actually works!

Could by any chance tell what could be the issue with the hosting and how can it be fixed?

I don't know the exactly problem, hosting a music Bot is not a easy task and is different for each plataform, i suggest you to look for youtube tutorials about hosting music bots in the plataform you want to use.
You can add this print(e) in this line inside the VulkanInitializer.py file, you will get more details about the error. I think that has something related to the way the RaillWays load the project folders.


Possible crash - Wrong behaviour in (un)ordered list and headings

Press (un)ordered list toolbar icon. Then try to apply any Heading (1-6). The Heading has different behaviour, as it continues to apply its 'status' till the text is not visible (e.g. H6) or the text becomes too large(e.g. H1). This has as a result, the application to crash. Please provide any help or fix on this.

@kostastsi I have added this to my to do list and will hopefully have a fix pushed soon.


How to set CanShowDialog from MSBuild?

Hi @satbai I'm using the credprovider from MSBuild, and even though I pass /p:NugetInteractive=true the CanShowDialog is still set to false:
IsNonInteractive: False, CanShowDialog: False

It looks like there is no way to thread through the setting to the task from MSBuild?

@KirillOsenkov There is no way to do that.
By design MSBuild will never allow plugins to pop-up a dialog.
This was a decision made jointly between NuGet and @jeffkl and @AndyGerlicher.
We thought it's important that the host (msbuild,dotnet.exe) makes the decision on what the experience will be like.

I'm taken by surprise that this was a deliberate decision ;)
What is happening is you're pausing the build and prompting for user interaction via device flow, and then fail after a certain timeout if user didn't auth. So in a way it is already interactive, just not showing a dialog.
But the unfortunate UX of this is the user launched the build, specified /p:nugetInteractive=true, fully expecting a dialog to pop up, and switched away to reading Twitter, waiting for that dialog. The device flow prompt was buried in a sea of random output, and after I get tired of Twitter I switch back to MSBuild only to find out that the auth failed for some unknown reason.
I certainly understand that MSBuild showing dialogs sounds nonsensical, however I'd rather have that than the device flow experience, honestly. Two improvements come to mind:

Highlight the device flow prompt using a bright console color, surround with ASCII frames and make sure it's the last thing in the MSBuild output console, and not buried in random output.

Allow the user to pass a property to switch to the auth dialog if they so choose. You can keep device flow as default, if it is more discoverable. But there needs to be an option at least.

I personally expect all prompts to come from the command window itself.  I've had command-line tools pop up dialogs and sometimes they appear behind my windows which is bad.  They also cannot be made modal so I can bring the command window back to focus and not know that it has popped up this other unrelated window.
I think the biggest reason we didn't want to pop up a dialog is because MSBuild is cross platform and we wouldn't be able to open a consistent looking dialog on the various platforms.  This means that MSBuild.exe would pop up a dialog while dotnet msbuild would not, even on the same machine.  Even if we made MSBuild pop up a dialog on Windows only, I think it would be bad if I had a different experience on a Mac or Linux machine. The device flow experience is at least consistent across all platforms.  When running inside Visual Studio, you get a dialog as you'd expect since you're running in a UI.
Currently, MSBuild has no concept of "prompts".  The messages are simply logged as high importance messages.  We could potentially add another logging level to make it a different color.  If we don't care about the color, we could change the overall look of the prompt inside this credential provider.  I'd definitely be behind a change to the text of the prompt as we just released it and its a good time to revisit if people have feedback.

There's also a similar issue regarding the visibility of the messaged raised on NuGet's repo. https://github.com/NuGet/Home/issues/7364
So that is something that we can definitely brainstorm.
As far as the client is concerned, currently that is a generic log message, so the easiest thing would be for the plugin to add some pretty print around it.

Adding bright colored logging around the device flow prompt is a good idea. I've added it to our back log.

@satbai
The plugin itself does not have control over the color schema of the logging since the nuget tools write the output.
You can however change the content of the log message to make it pop a bit more.
Potentially you could log at a warning level that would change the color of the output, but that's a misuse.

As a side-note, there's been requests/suggestions that device flow should be the default every time.
//cc @loic-sharma

@jeffkl Fall back to device flow


Fix array_rand extra rolls.

The array_rand implementation in PHPRandom fails to short circuit after reaching the desired number of elements, which causes extra rolls to be drawn from the RNG. While the first result matches, future array_rand calls will be out of sync.

Context as to why this is needed? Any chance of a test that fails without this?

I mean if there is a bug in existing code I don't think context is necessarily needed.

I mean if there is a bug in existing code I don't think context is necessarily needed.

Given the absence of code documentation, what's the bug?  Is it an array indexing issue that is reported elsewhere that I have not seen or is it something downstream isn't working because the random number generator is called too many times or what?  What bad thing happens if this is not fixed?

I mean if there is a bug in existing code I don't think context is necessarily needed.

Given the absence of code documentation, what's the bug? Is it an array indexing issue that is reported elsewhere that I have not seen or is it something downstream isn't working because the random number generator is called too many times or what? What bad thing happens if this is not fixed?

I agree, I want to see a test to confirm that it is a bug. But I don't need context on why a bug needs fixing once it's confirmed to be such.

Maybe "context" wasn't the best way to ask "what is the bug?"  If that is answered then how it was discovered is just satisfying curiosity.

Sorry, I pushed this this morning and then got distracted. I updated the description and will write a test.


Add requirement for matching Redis server versions

Addressing https://github.com/MicrosoftDocs/azure-docs/issues/105907

@flang-msft

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Suggestion on colophon

When one looks at most books, one sees that the colophon is printed on the even page, yet if we use
:media:     prepress
it starts the colophon on an odd page after inserting a blank page.  This should be changed.  Further, this comes before anything, even any preamble, which currently cannot come before it.  I would like to see this corrected.
Frankly, it would be nice to position it with a macro similar to the TOC macro, as it really comes after other things too.

It is possible to achieve this customization using an extended converter. That is the approach the the InfoQ Mini Book (and books that are derived from it) has taken. I will document that approach on the extended converter use cases page. See https://github.com/asciidoctor/asciidoctor-pdf/pull/2456
Beyond that, there are a few things...
First, I'd like to see an authoritative reference that documents the proper placement of a colophon. I'm skeptical there is one. And even if there is, publishers all have their opinions about what is right, or at least what they prefer. There have been numerous books published using Asciidoctor PDF. Are we going to break those books by changing this behavior in Asciidoctor PDF.
Second, the colophon doesn't have special meaning in AsciiDoc, Asciidoctor, or Asciidoctor PDF. It is one of a variety of special sections. So there is no precedent for treating the colophon differently. And even the definition of a colophon itself is rather loose. Some prefer to place it at the end of the book, or after other supplementary sections. Asciidoctor PDF cannot accommodate all these different needs, which is why it provides a way to extend the converter and apply the customization that works for you.
Finally, the code that I have shared assumes the colophon is only a single page. Adding an arbitrary number of pages in front of the table of contents is very complicated in Asciidoctor PDF. For one, I don't have time to try to figure that out in Asciidoctor PDF. And second, adding that could introduce incompatibilities with existing uses of Asciidoctor PDF, which I don't even want to try to imagine. On the other hand, using an extended converter is safe.
As for the idea of a custom macro or insertion slot...you are certainly welcome to develop a custom block macro that would insert a colophon wherever you want it in the document...extending the converter if necessary to fine-tune the placement. That is a capability Asciidoctor affords you. We will not be adding a built-in macro as it is entirely too specialized.

Actually, the proposal would be easily implemented in a properly protocol oriented design, and is a generalization, making things more flexible, not less, and it further follows existing capabilities.  Very disappointed in your design philosophy and apparent lack of vision in that regard.  One has only to look at a variety of books to see the standards of colophons.But, at least I know now not to waste further time.P.T. Waugh, M.A.Sent from my iPadOn Oct 8, 2023, at 3:26 AM, Dan Allen @.***> wrote:
It is possible to achieve this customization using an extended converter. That is the approach the the InfoQ Mini Book (and books that are derived from it) has taken. I will document that approach on the extended converter use cases page. See #2456
Beyond that, there are a few things...
First, I'd like to see an authoritative reference that documents the proper placement of a colophon. I'm skeptical there is one. And even if there is, publishers all have their opinions about what is right, or at least what they prefer. There have been numerous books published using Asciidoctor PDF. Are we going to break those books by changing this behavior in Asciidoctor PDF.
Second, the colophon doesn't have special meaning in AsciiDoc, Asciidoctor, or Asciidoctor PDF. It is one of a variety of special sections. So there is no precedent for treating the colophon differently. And even the definition of a colophon itself is rather loose. Some prefer to place it at the end of the book, or after other supplementary sections. Asciidoctor PDF cannot accommodate all these different needs, which is why it provides a way to extend the converter and apply the customization that works for you.
Finally, the code that I have shared assumes the colophon is only a single page. Adding an arbitrary number of pages in front of the table of contents is very complicated in Asciidoctor PDF. For one, I don't have time to try to figure that out in Asciidoctor PDF. And second, adding that could introduce incompatibilities with existing uses of Asciidoctor PDF, which I don't even want to try to imagine. On the other hand, using an extended converter is safe.
As for the idea of a custom macro or insertion slot...you are certainly welcome to develop a custom block macro that would insert a colophon wherever you want it in the document...extending the converter if necessary to fine-tune the placement. That is a capability Asciidoctor affords you. We will not be adding a built-in macro as it is entirely too specialized.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Frankly, I don't deserve this lack of respect. I'm disappointed in your lack of professionalism. I'll merge the documentation PR that I submitted and that will be the last I will engage with this pointless conversation.


Single byte characters in a Vec does allign.
Multi byte characters in multiple statements does not align, same as with single byte.
Multi byte characters a Vec aligns in a strange way.

I hypothesise that rustfmt is counting bytes not characters.
rustfmt --version:
rustfmt 1.4.37-nightly (539d7bd 2021-06-14)

Same behavior under
rustfmt 1.4.36-stable (7de6968 2021-02-07)

This bug was originally found by @LunarTulip

hi thanks for reaching out with the report! rustfmt isn't supposed to visually align anything by default but there's a known bug (#4108) where it not only attempts to do so, but often does so incorrectly. Accordingly I'm going to go ahead and close this and track in #4108 which you may want to subscribe to for updates. As part of addressing the issue we'll add test cases for the snippets you've provided here.
Thanks again!


refactor: use never record type instead of empty object

https://github.com/grammyjs/emoji/pull/19#discussion_r1239375175

Also applicable for https://github.com/grammyjs/conversations/blob/4cf57239b92884eea67841541f9539c4e2418ef4/src/conversation.ts#L34 btw.

@dcdunkan Should I fix the type there?

@Nazar-Ant Why not, I think @KnorpelSenf would appreciate that.

@dcdunkan Should I fix the type there?

Yes please!

Consider signing your commits in the future. I will overrule now and merge anyway.


Couldn't find module @inrupt/solid-client-authn-browser

When following the tutorial on your github page
I get the module not found error.
Installing it separately resolved the issue.

Hello, thanks for the comment. The tutorial was old and has since been deleted. The best tutorial to use is at ldo.js.org


Improve messy phenotype annotation sections

I think that the top part of the phenotype section is getting messy:

We can probably find another place for the "View all alleles of SPCC18.17c" link.
It's especially chaotic when the details are shown and a filter is active:

Do you have any ideas for making it tidier?
The first change that I thought of is putting the two boxes side-by-side, but it looks a bit weird:

I have an idea!
I think we should remove the slim links panel from the phenotype pages. They aren't as useful as for GO (which define biological modules, and also are far fewer).
I think the phenotype slim has slightly different applications and isn't so relevant on the gene pages (it isn't developed in the same way to define module with minimal overlap between each other) . These links are actually a bit annoying here because people may expect them to behave like filters. For GO, the filters and  the slim terms are the same. For phenotype they are different (because the slim and the filters have a slightly different purpose.
There is also additional confusion because of the population/cell phenotype split. i have been meaning to mention this for a while.
So maybe we can use this panel / a similar panel for links more relevant to phenotypes?

I think we should remove the slim links panel from the phenotype pages.

Great, that will make things tidier.  I'll do that tomorrow.

I'll do that tomorrow.

I forgot that was just a config change.  It's done for the morning.

How do you feel about making the viable/inviable box smaller?
So this:

instead of:

Yep, then other stuff can go alongside...

How do you feel about making the viable/inviable box smaller?

OK, that's done now.

I think this can close until we come up with some more ideas.


ReferenceError: can't access lexical declaration route before initialization

Describe the bug
When updating any component that belongs to a route (for me /pages), the Router cannot update the page as it gets an error: ReferenceError: can't access lexical declaration 'indexRoute ' before initialization.
Router.tsx
import React from "react";
import {
  RouterProvider,
  RootRoute,
  ReactRouter,
  Navigate,
  Outlet,
  Route,
  Link,
} from "@tanstack/react-router";

import { indexRoute } from "src/pages/IndexPage";

export const rootRoute = new RootRoute({
  component: () => <Outlet />,
});

const routeTree = rootRoute.addChildren([
  indexRoute,
]);
const router = new ReactRouter({ routeTree });

const Router = () => {
  return <RouterProvider router={router} />;
};

export default Router;

declare module "@tanstack/react-router" {
  interface Register {
    router: typeof router;
  }
}

IndexPage.tsx
import React from "react";
import { Link, Route } from "@tanstack/react-router";
import { rootRoute } from "src/contexts/Router";

const IndexPage = () => {
  return (
    <>
      <Link to="/l">Login</Link>
      <Link to="/r">Register</Link>
    </>
  );
};

export const indexRoute = new Route({
  path: "/",
  component: IndexPage,
  getParentRoute: () => rootRoute,
});

I am probably dumb but I am so confused. Half of the documentation does not work and most month old videos are already outdated so having a hard time switching from react-router-dom.
Your Example Website or App
https://stackblitz.com/edit/github-ohfen9?file=src%2Fpages%2FIndexPage.tsx
Steps to Reproduce the Bug or Issue

Change any react component after intial render.

Expected behavior
I expected for the component to update like it would if the router was not there. However, I experience an error which stops it from rerendering.
NOTE: I sometimes experience infinite rerenders however I am unsure if that is related to this.
Screenshots or Videos

Platform

OS: Windows 11
Browser: Firefox( 109.0.1 ) + Chrome( 109.0.5414.120 )

Additional context
No response

Issue Resolved
I had to move the routes declaration outside of the IndexPage.tsx

I had to move the routes declaration outside of the IndexPage.tsx

It solved my issue with: "Cannot access X before initialization" and with Vite HMR (#510) as well.
Do you mind reopening this issue?

To fix I made a seperate _routes.ts file and moved all my projects
export const indexRoute = new Route({
  path: "/",
  component: IndexPage,
  getParentRoute: () => rootRoute,
});

inside of it.

I was able to resolve this by moving the RootRoute creation into it's own file outside of the file where Router is created. I left adding children to the root as well as the ts module declaration in the main router file however

Let's track this in #510


For companies minor bug fixes.

Reported in https://chat.zulip.org/#narrow/stream/2-general/topic/new.20landing.20page.20for.20companies and https://chat.zulip.org/#narrow/stream/107-kandra/topic/.2Ffor.2Fcompanies.20.2319473

The linter issues are just prettier; I'll fix before merging.

Merged after running prettier, thanks @amanagr!


Unable to upgrade to React v18.0

Unable to upgrade to React v18.0:
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>|| ^17.0.0" from<EMAIL_ADDRESS>npm ERR! node_modules/mdi-material-ui
npm ERR<EMAIL_ADDRESS>from the root project

This is now shipped in version 7.3.0


Suggestions: console home and clear to end of screen + Column suggestions

Hello, I am new to python and found this library for a console based program and it's been amazing to work with! The library has been incredibly easy to get up and running with great output and not much overhead. I had looked between blessed and some of the python TUI frameworks, and rich sits at a perfect spot between the two!  I was able to very quickly get some nice output going without much overhead at all and it's been great.
The documentation and examples have been great at helping me work through problems, but it's possible I missed this feature. I'm basically doing a menu for a user interface, so I've been using a combination of blessed and rich. I use the input from blessed, and have some functions to make the rich renderables when it needs to redraw the screen.
The issue is that you cannot clear between redraws because the screen will flash, so you have to draw over top of the existing items by moving home and redrawing. If elements get shorter, you are left with lines that have old output, so you need to clear to the end of the screen as well.
So right now my draw function is basically:
print.(blessed_term.home )
rich_console.print( ui_element )
rich_console.print( ui_element_2 )
...
print( blessed_term.clear_eos )
I think it would be a nice addition if it were possible to add some of these functions to rich, but I understand if they don't fit the design or are not easy to put in there.
Another suggestion is added features for the column class. The first would be to change the background color of the space between renderables in the column.
The screen layout I have is, top to bottom, an expanded panel, an expanded table, then a column of several tables, then an expanded panel. The column had a lot of space to the right that that was the color of the terminal background. If I expanded the column, the gaps were still the terminal background color.
What I ended up doing was manually calculating the width of the tables (table borders + padding + width of longest string element), then creating a final panel with box minimal that was the size of the left over space (term width - tables width) that shared a background color with other elements, then added 0 padding, and I had a nice solid background color change for all elements.
It would be nice to be able to just set the background color of the space between the renderables in the column class.
In addition, it would be nice to justify the column elements to the left/right/center/justified positions. Left stacking them to the left, right to the right, center smashing them together in the center, and justify doing what it does now when expand=true.
Again it's been wonderful working with rich and thank you again for writing it along with great documentation. One last suggestion is that I wanted to have a progress bar inside of a table and thought I couldn't do it until I saw the get_renderable function in the reference, which worked out wonderfully. Might be worth a mention on the progress page as I initially thought I could only use it at the bottom of the screen doing its thing instead of putting it up inside the elements.
tldr:

console.move_home  console.clear_eos functions
-Column background color
-Column justify for elements left,right,center,justify
-Mention progress.get_renderable() out in main documentation.

You can wrap any renderable in padding which will extend padding to the full width.
from rich.padding import Padding
console.print(Padding(ui_element))

console.move_home console.clear_eos functions

Rich may or may not grow such things in the future. Possible as a separate package. Currently the line of separation is that Rich is for rendering only and not interactive. I broke that rule with the Progress display, so we'll see.

-Column background color

You can set a style when you print something, which effectively does this. Try the following:
from rich.columns import Columns
from rich.console import Console

console = Console()

from rich.table import Table

table = Table("foo", "bar", style="on blue")
table.add_row("1", "2")

console.print(Columns([table]*5, expand=True), style="on green")

Or you can wrap it in Padding(columns, style="on magenta"), which has a similar effect.

Column justify for elements left,right,center,justify

I had thought the Align class does this, but its not working as intended. I should have a fix for this in the next version. Essentially you can wrap each column renderable in Align.center(renderable). I'm not certain about making it a per-Columns attribute, but I'll think about it.

-Mention progress.get_renderable() out in main documentation.

It's get_renderables which is recommended for this, and it's mentioned here. It doesn't go in to detail. Documentation PRs are welcome if you want to expand.
If you have any follow up questions, could you please open an issue per question. Makes it easier to track.
Not sure I fully grasped what you are trying to display with Columns, so perhaps add a screenshot?

You may want to try v3.2.0. I've added a align parameter to Columns constructor.

Sorry it took me so long to get back to you! Thank you for the help! It looks like wrapping the column in padding did the job exactly as needed! It leaves the tables pushed against each other to the left while clearing the space to the right with the background color needed.
For what I meant by aligning columns, if you look at what the example code you put up does.
Align left would be to put your hand to the right side of the screen and push all of the boxes to the left so they are against each other and the left side of the screen.
Align right would be put your hand on the left side and push all of the boxes to the right of the screen.
Align center would be put a hand on either side and push them all together.
So it looks like everything was covered here and you've got the alignment going on already in columns, thank you again for the help and update!

For what I meant by aligning columns, if you look at what the example code you put up does.
Align left would be to put your hand to the right side of the screen and push all of the boxes to the left so they are against > each other and the left side of the screen.
Align right would be put your hand on the left side and push all of the boxes to the right of the screen.
Align center would be put a hand on either side and push them all together.

If I understand you correctly, then this would do it:
print(Align.left(columns))
print(Align.right(columns))
print(Align.center(columns))

You would need expand=False on the Column.


Fix Clang extra-semi-stmt warnings.

My preference would be to remove the brackets {}, leaving just the semicolon.
I'll take care of it. Thanks for the report.

Fixed in 130e4da

Thank you for help!


cleaned_evt_lists fails for<PHONE_NUMBER> because of emanom and calclosed

Currently no checks are performed at any stage to identify what the filter value of a particular sub-exposure of an observation is, and as such everything is blindly thrown into emanom (if the user chooses to run it). This method will fail for any CalClosed filter data, which then carries through to cleaned_evt_lists because DAXA is trying to create cleaned versions of those evt lists as well and expects there to be an emanom log file, even though CalClosed is not useful observation data for us.

I don't want to do this check using emanom, because the user can choose not to run it (at least at the moment, maybe I'll change my mind on that).
Two solutions come to mind:

Reading raw event file headers to establish filter during setup (maybe during the initial epchain/emchain step).
Implementing the SAS summary file parser mentioned in issue #34


Fix safe_action

What this does
Fixes KochRobot.send_action when max_relative_target is not set (None)
How it was tested
TODO
How to checkout & try? (for the reviewer)
TODO

@alexander-soare @Cadene should we set a default value for max_relative_target?
Feels like that feature should be there by default


Implement full file diff

I copied the changes from @deckar01's branch at https://github.com/fedora-ruby/gem-compare/compare/master...deckar01:9a59eda
This should fix https://github.com/fedora-ruby/gem-compare/issues/17

Problem
Since gems can be published with arbitrary content from the developer's machine, some projects require auditing the contents of the gems directly rather than the commits in the source repository. I currently fetch and unpack them, then run git diff -U0 on them to get the file changes. gem-compare automates much of that process, but does not provide detailed insight into code content that changed.
$ gem compare --files deckar01-task_list 2.0.0 2.0.1
Fetching: deckar01-task_list-2.0.0.gem (100%)
Fetching: deckar01-task_list-2.0.1.gem (100%)
Compared versions: ["2.0.0", "2.0.1"]
  DIFFERENT files:
    2.0.0->2.0.1:
      * Changed:
            .travis.yml +0/-1
            app/assets/javascripts/task_list.coffee +1/-8
            bower.json +1/-1
            lib/task_list/version.rb +1/-1
            package.json +1/-1
            script/bootstrap +1/-1
            task_list.gemspec +2/-2
            test/unit/test_updates.coffee +10/-10

Proposal
Add an option that outputs the line diff for the unpacked gem directories with syntax highlighting. There is probably a better UX that can be achieved by integrating the diff into the existing report format, but I plan to just call out of git diff when I try this on my fork.
$ gem compare --diff deckar01-task_list 2.0.0 2.0.1
Fetching: deckar01-task_list-2.0.0.gem (100%)
Fetching: deckar01-task_list-2.0.1.gem (100%)
Compared versions: ["2.0.0", "2.0.1"]

diff --git a/deckar01-task_list-2.0.0/.travis.yml b/deckar01-task_list-2.0.1/.travis.yml
index 4996b15..0cf6108 100644
--- a/deckar01-task_list-2.0.0/.travis.yml
+++ b/deckar01-task_list-2.0.1/.travis.yml
@@ -8 +7,0 @@ rvm:
-  - 1.9.3
diff --git a/deckar01-task_list-2.0.0/app/assets/javascripts/task_list.coffee b/deckar01-task_list-2.0.1/app/assets/javascripts/task_list.coffee
index 3fad38b..9d6d1f6 100644
--- a/deckar01-task_list-2.0.0/app/assets/javascripts/task_list.coffee
+++ b/deckar01-task_list-2.0.1/app/assets/javascripts/task_list.coffee
@@ -193,8 +193 @@ class TaskList
-    \s+                     # is followed by whitespace
-    (?!
-      \(.*?\)               # is not part of a [foo](url) link
-    )
-    (?=                     # and is followed by zero or more links
-      (?:\[.*?\]\s*(?:\[.*?\]|\(.*?\))\s*)*
-      (?:[^\[]|$)           # and either a non-link or the end of the string
-    )
+    \s                      # is followed by whitespace
diff --git a/deckar01-task_list-2.0.0/bower.json b/deckar01-task_list-2.0.1/bower.json
index cf77b36..ae800e6 100644
--- a/deckar01-task_list-2.0.0/bower.json
+++ b/deckar01-task_list-2.0.1/bower.json
@@ -3 +3 @@
-  "version": "2.0.0",
+  "version": "2.0.1",
diff --git a/deckar01-task_list-2.0.0/lib/task_list/version.rb b/deckar01-task_list-2.0.1/lib/task_list/version.rb
index 87a969f..3f6f80a 100644
--- a/deckar01-task_list-2.0.0/lib/task_list/version.rb
+++ b/deckar01-task_list-2.0.1/lib/task_list/version.rb
@@ -2 +2 @@ class TaskList
-  VERSION = [2, 0, 0].join('.')
+  VERSION = [2, 0, 1].join('.')
...

Hello @josephfrazier. Thanks a lot for the PR and sorry for the delay. I just updated the code (mainly tests) to work with RubyGems 3.x and it would be nice to add this to the next release. Can you please rebase to current master branch and write a basic test or two?

I refactored the change and based it on the latest commit. I added a low hanging fruit unit test, but there isn't much of an example for deviating from the options provided by the helper, so I'm not exactly sure how I should test the new option in test_file_list_comparator.rb.
https://github.com/fedora-ruby/gem-compare/compare/master...deckar01:17-diff-file-contents

@deckar01 merged in #21. Thanks a lot, work nicely.


Fix up pipeline stage result setting and exception handling

Fixes https://github.com/adoptium/ci-jenkins-pipelines/issues/1068
Problem:

Because for several sub-jobs like "tests", we use propagate: false, the job result does not set the stage result, we currently only set the overall build result.

This PR fixes:

Ensure all sub-jobs called within "stages" also set the stage result
Tidy up several catch(Exception) clauses that swallow exceptions, and were not setting overall build result to FAILURE

Fixed tests:

Various Mac stages, aborted/failed, all showing correct Stage results:

run tests

Adding Sophia as a potential reviewer as she was involved in the issue referenced in the description.


Readme update from master

[Current coverage][cc-pull] is 97.76%

Merging [#12][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master        #12   diff @@
==========================================
  Files            34         34
  Lines          1382       1382
  Methods          58         58
  Messages          0          0
  Branches         24         24
==========================================
  Hits           1351       1351
  Misses           31         31
  Partials          0          0

Powered by Codecov. Last updated by [94efa5a...4cb8166][cc-compare]
[cc-base-branch]: https://codecov.io/gh/mike-goodwin/owasp-threat-dragon/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/mike-goodwin/owasp-threat-dragon/compare/94efa5a4f266c7f71b704d1dcf1f29f36c2c773b...4cb8166db91b8b807f27705106632d7b4cd08399
[cc-pull]: https://codecov.io/gh/mike-goodwin/owasp-threat-dragon/pull/12?src=pr


Anti-Link System

A system that will delete all discord server invites from all users besides admins.
System will be on by default, unless turned off
addition - If someone posts a discord invite in your server, the bot will delete it and give them a warning/infraction. The first time someone breaks the rules, they'll get a five-minute timeout. If they do it again, the timeout will be longer - ten minutes, then twenty minutes. And if they keep ignoring the rules, the bot will ban them.

Finished -
(4/2/2023) Pending push to main branch!

https://github.com/SakiyaDev/anti-phish-advanced
delete phishing links..? v1.0.4


How to use with webpack

Context

hapi-swgger version: 7.7.0
any other relevant information: webpack 2

What are you trying to achieve or the steps to reproduce ?
build project with webpack
Describe your issue here, include example route or JOI schemas.
When I start server I receive next result
What result did you get?
Debug: internal, implementation, error
     Error: View file not found: `index.html`. Locations searched: [/public/swaggerui/index.html]
     at Items.serial (/Users/illia_yeldinov/Projects/forr/api-layer/dist/server.js:94283:26)
     at done (/Users/illia_yeldinov/Projects/forr/api-layer/dist/server.js:5329:25)
     at Fs.stat (/Users/illia_yeldinov/Projects/forr/api-layer/dist/server.js:94279:20)
     at FSReqWrap.oncomplete (fs.js:123:15)

What did you expect ?
I can access documentation page

I've found out that __dirname resolves to / here https://github.com/glennjones/hapi-swagger/blob/master/lib/index.js#L60 if I build my project with webpack

Ok. Setting
node: {
    __dirname: true,
  },

in webpack config fixes the issues.
Thanks myself


make run-tests does not work

Description
make run-tests gives me the following output
Lemon@DESKTOP-LEMON MINGW64 /f/codes/python-container-action/discuss-twitter (feature/lem0n4id/issue#4)
$ make run-tests
make: *** No rule to make target 'run-tests'.  Stop.

Expected Behavior
I'm not sure since this is my first time using make
Environment:

Host OS: windows 10

I found it in the contributing.md here

@lem0n4id i think it's some mistake in the contributing guide since i dont see any such command in the Makefile, that's the reason it's not working.


One Bug when I create a scenario multiple times in one route.

Describe the bug
I use challenge mode and use Scenario_4 in Town05. My route samples three VehicleTurningRight scenarios. However, after the first scenario ends, the other two are never triggered. I printed the scenario_tree and find out that the names of the root node of these scenarios are the same.
My solution is adding an index to each root node and it works well. It is a possible bug that has not been noticed when creating a scenario multiple times in one route.
To Reproduce
Steps to reproduce the behavior:

python3 scenario_runner.py --route ... ... --agent ...

Expected behavior
In one route, scenarios will not interact with each other.
Screenshots
This is a screenshot that shows the scenario_tree, in which I have three Scenario_4 with the same root name. This happens just after the first scenario ends. The expected behavior is that only one of these scenarios finished, but what I get is all three scenarios end.

Desktop (please complete the following information):

OS: Ubuntu 18.04
CARLA Version CARLA 0.9.6
Python version 3.7
Version 0.9.6

Hi,
thank you very much for raising this issue. I uploaded a hotfix #423, which resolves this issue.


Refactor job role options to enum

What it says on the proverbial tin...
Why this, why now
This is being done in the interests of consistency (see working_patterns). It will also help us avoid nasty issues if we change how the data is presented at a later date.
It will also help us filter hiring staff jobs in their dashboard easily and more performantly if we need to:
Vacancy.with_job_roles(:nqt_suitable)

Next steps
Next on the menu is the job_location field, which should undergo a similar operation before we start implementing multiple_schools as an option

The migration to convert job roles isn't working as expected. Please do not merge this PR while I troubleshoot


Searching for text inside exact path does not work

Issue Type: Bug

Opened vscode with folder c:\Code\vscode
Trying to search (Ctrl+Shift+F) for a string, 'text'.
Include pattern: c:/Code/vscode/src/vs/workbench/api/electron-browser/mainThreadSearch.ts

Expected result
At least a couple of hits
Actual result
Search fails with 'spawn c:\Users\erik\AppData\Local\Programs\Microsoft VS Code\resources\app\node_modules.asar.unpacked\vscode-ripgrep\bin\rg.exe ENOENT'
Additional information
The following two include patterns give the expected result

c:/Code/vscode/src/vs/workbench/api/electron-browser/mainThreadSearch.t*
src/vs/workbench/api/electron-browser/mainThreadSearch.ts

VS Code version: Code 1.31.1 (1b8e8302e405050205e69b59abb3559592bb9e60, 2019-02-12T02:20:54.427Z)
OS version: Windows_NT x64 10.0.17134
Extensions: none

Tracked in https://github.com/Microsoft/vscode/issues/48958


search in subelement

Is it possible to search in subelement? I currently have code like this

this is the description

I want to search in the .image-description with hightlight.
I can think of the following way:

  this is the description

But this way makes formatting really hard.
Is there a way to do it?

You can add attribute to LI e.g. description="this is the description" then use the attribute option when you init plugin


makedepend required for building on linux

Using 1.0.2m seems to have introduced a new? build_requirement: makedepend
OpenSSL/1.0.2m@conan/stable: Building your package in /var/lib/jenkins/.conan/data/OpenSSL/1.0.2m/conan/stable/build/97d86c8726f8c2170cb8e716523c629c8c27dbf0
OpenSSL/1.0.2m@conan/stable: Copying sources to build folder
OpenSSL/1.0.2m@conan/stable: Generator txt created conanbuildinfo.txt
OpenSSL/1.0.2m@conan/stable: Calling build()
OpenSSL/1.0.2m@conan/stable: Activated option! no_asm
OpenSSL/1.0.2m@conan/stable: Activated option! no_zlib
OpenSSL/1.0.2m@conan/stable: Activated option! shared
OpenSSL/1.0.2m@conan/stable: WARN: ./Configure  no-asm no-zlib shared -fPIC linux-armv4  -s
..............................................................................................................................................................................................................................................................................................................................................................OpenSSL/1.0.2m@conan/stable:
..../util/domd: 33: ../util/domd: makedepend: not found
mv: cannot stat 'Makefile.new': No such file or directory
make[1]: *** [local_depend] Error 127
..make: *** [depend] Error 1
.OpenSSL/1.0.2m@conan/stable:
OpenSSL/1.0.2m@conan/stable: ERROR: Package '97d86c8726f8c2170cb8e716523c629c8c27dbf0' build failed
OpenSSL/1.0.2m@conan/stable: WARN: Build folder /var/lib/jenkins/.conan/data/OpenSSL/1.0.2m/conan/stable/build/97d86c8726f8c2170cb8e716523c629c8c27dbf0
ERROR: OpenSSL/1.0.2m@conan/stable: Error in build() method, line 102
self.unix_build(config_options_string)
while calling 'unix_build', line 173
self.run_in_src("make depend")
while calling 'run_in_src', line 122
self.run(command)
ConanException: Error 512 while executing bash -l -c -o pipefail "make depend | while read line; do printf "%c" .; done"

@lasote This doesn't seem to be fixed with 1.1.0g:

OpenSSL/1.1.0g@conan/stable: ------RUNNING-------
bash -l -c -o pipefail "./Configure linux-x86_64-clang -m64 -fPIC --with-zlib-include="/root/.conan/data/zlib/1.2.11/conan/stable/package/8094f5147bc9378351237bfd795472578065861f/include" --with-zlib-lib="/root/.conan/data/zlib/1.2.11/conan/stable/package/8094f5147bc9378351237bfd795472578065861f/lib" | while read line; do printf "%c" .; done"OpenSSL/1.1.0g@conan/stable:
OpenSSL/1.1.0g@conan/stable: ------RUNNING-------
bash -l -c -o pipefail "make depend | while read line; do printf "%c" .; done"

It still does something with make depend in the last step.

Okay, it works somehow, but the output is still confusing..


API response field different from v1.0: generated_text (v1.0) --> text_generated (v2.0)

Describe the bug
The new v2.0 API json response is returning different field name than the v1.0.
Sample Code
Please include a minimal sample of the code that will (if possible) reproduce the bug in isolation
Expected behavior
{
  "generated_text": "I love dogs<EMAIL_ADDRESS>  "token_classification_results": {
    "input": null,
    "output": []
  },
  "finish_reason": "MAX_TOKENS",
  "generated_token_count": 99,
  "seed": 42,
  "input_token_count": 21,
  "warnings": null,
  "tokens": [
    {
      "text": "\u0120not",
      "logprob": 0.0,
      "rank": 1
    }],
  "input_tokens": []
  }

Observed behavior
{
  "text_generated": "I hate cats. [...] I love dogs love@dogs.com!",
  "token_classification_results": {},
  "finish_reason": "EOS_TOKEN",
  "generated_token_count": 59,
  "seed": 0,
  "input_token_count": 21
}

Hmm, this is strange. The field is definitely still called generated_text in 2.0.

Ok! I think updating the deployment, this is fixed! This is the image being pulled: us.icr.io/cil15-shared-registry/fms-orchestr8:latest


Laravel 4.x version of the package

Hi,
According to the documentation from your website to run the bugsnag package for laravel on an older version like 4.2 you need to install bugsnag/bugsnag-laravel:1.* . That will install the current 1.6.3 version of the package.
Till now everything is good but in the versions after 1.2.1 this class Illuminate\Foundation\Exceptions\Handler doesn't exists. Weirdly if you are running php < 5.6 with laravel 4.x the package is working but the moment you upgrade to php version 5.6.x there is an error that pops up.
[ErrorException]
The use statement with non-compound name 'Bugsnag' has no effect

Our installation docs for Laravel 4 are available here: https://github.com/bugsnag/bugsnag-laravel#laravel-older-versions.


Moved EmojiSuggest padding to CSS

Moved the padding of the EmojiSuggest container that was set as a parameter of the plugin to the CSS as it is easier to manage the whole styling in one place

I was also thinking that instead of passing the rowWidth, squareSide and squareMargin to the plugin, we could use a responsive grid and get the number of columns and row dynamically. So the javascript part only manages the logic and the CSS only the visual.

I was also thinking that instead of passing the rowWidth, squareSide and squareMargin to the plugin, we could use a responsive grid and get the number of columns and row dynamically. So the javascript part only manages the logic and the CSS only the visual.

The reason we have some of those in javascript is to calculate moving up and down with arrow keys. Did you check if your change keeps the keyboard navigation wokring?

I can see that this specific padding is not used to calculate the moving of the selected icon. It was only set as a style of the wrapper.
I tested changing the value of that padding directly in the DOM in the browser and it did not have an impact on the moving as only the wrapper was changing, not the container of the emojis.


onGeoPointClicked  and  onLocationChanged functions arent called when defined.

I dont know what is the problem but these functions doesnt called on OSMFlutter widget. what can be the problem? I edited _CustomPickerLocationState like below  for my purpose. I m testing on IPhone simulator
OSMFlutter(
                 controller: widget.controller,
                 markerOption: widget.pickerConfig.advancedMarkerPicker != null
                     ? MarkerOption(
                         advancedPickerMarker:
                             widget.pickerConfig.advancedMarkerPicker,
                       )
                     : null,
                 isPicker: true,
                 mapIsLoading: widget.pickerConfig.loadingWidget,
                 stepZoom: widget.pickerConfig.stepZoom,
                 initZoom: widget.pickerConfig.initZoom,
                 minZoomLevel: widget.pickerConfig.minZoomLevel,
                 maxZoomLevel: widget.pickerConfig.maxZoomLevel,
                 onMapIsReady: widget.onMapReady,
                 onLocationChanged: (point){
                   print(point);
                 },
                 onGeoPointClicked: (point){
                   print(point);
                 },
               ),

if you create your own picker with custom behaviour
remove isPicker:true

I tried but it didnt work.

can provide me more detail about what you tring to do

I had the same problem. onGeoPointClicked listener triggered when marker is clicked on Android but don't triggered on iOS.

ok i will check that

I tried to debugprint  onSinglePressMapClickListener, onGeoPointClickListener,onRegionIsChangingListener events. onSinglePressMapClickListener is called when I clicked to map but others never called in osm_controller.
I guess it is not related to CustomPickerLocation. As much as I see you are using methodchannel calls from native to flutter instead off Event channels  but method calls doesnt called, I could not debug native side because I could not understand to concept exactly. Maybe native side debugging is needed. Also I  wonder why   isPicker should be false for these callback function runs.

because isPicker attribute made to lightweight access to osm_flutter widget
if you want to make picker you just will get location but if you want to make picker with custom behaviour
no need to make isPicker true


Inhibit agent outside Working Hours

This PR inhibits the PrometheusAgentFailing alert outside of business hours because the component is flaky and wakes up people at night that cannot do anything apart from silencing it.
In any case, as we did not have metrics for the apiserver in 18+,  if it fails at night, it's not that big of a deal
Checklist

[x] Update CHANGELOG.md
[ ] Add Unit tests
[ ] Follow Alert structure
[ ] Consider creating a dashboard (guidelines) (if it does not exist already) to help oncallers monitor the status of the issue.
[ ] Request review from oncall area, as well as team (e.g: oncall-kaas-cloud GitHub group).

Can you be more specific? What is your question?

Is it fine, if agent is down and no alerts during weekends for 48h  ?

It would be the same situation that we had before with older releases so I'd rather we do not page people for no reason


More Updates for Spack/non-Baselibs Compatibility

Description

This is a set of changes needed for building MAPL in a non-Baselibs (aka Spack) situation. The issue is that there have been recent changes to ESMA_cmake where:

We no longer do a find_package(MPI) call for everything using esma.cmake
We no longer carry around a FindESMF.cmake file and instead use the one from ESMF itself.

Because of these changes, we need to change how the "if not Baselibs" side of MAPL works. So we do a few things:

We explicitly do a find_package(MPI)
We do a find_package(ESMF MODULE REQUIRED)
We let CMake know that (at least for MAPL) ESMF requires MPI::MPI_Fortran
~4. We change all the esmf in our CMake to ESMF as that is what the FindESMF.cmake from ESMF provides~
We add an alias library back to esmf as the rest of GEOS still uses that.

NOTE 1: This now means non-Baselibs builds will need to append to CMAKE_MODULE_PATH where their FindESMF.cmake file is installed/located.
ETA: It turns out we can't move from esmf to ESMF for GEOS-ESM CMake reasons. Fixtures like the ADAS and LDAS aren't seem to fail with transitive CMake issues...in MAPL.
CMake Error at @cmake/@ecbuild/cmake/ecbuild_add_executable.cmake:218 (add_dependencies):
  The dependency target "ESMF" of target "cub2latlon.x" does not exist.
Call Stack (most recent call first):
  src/Shared/@MAPL/base/CMakeLists.txt:83 (ecbuild_add_executable)

CMake Error at @cmake/@ecbuild/cmake/ecbuild_add_executable.cmake:218 (add_dependencies):
  The dependency target "ESMF" of target "Regrid_Util.x" does not exist.
Call Stack (most recent call first):
  src/Shared/@MAPL/griddedio/CMakeLists.txt:25 (ecbuild_add_executable)

This shouldn't happen (the GCM seems fine) but I'm guessing perhaps I need updates to ESMA_cmake in the upstream fixtures to enable this. For now, let's go back to esmf. Don't rock the boat more than needed.
Related Issue

Motivation and Context

Allows MAPL to build built in environments without Baselibs.
How Has This Been Tested?

I will try to build/test on discover. I can easily test the "did I break Baselibs builds". It's a bit harder to test the non-Baselibs builds. I can say that MAPL does build (with a few hacks in the MAPL Spack package), so this should work with non-Baselibs builds. But our friends at Harvard (ping @lizziel) and NOAA (ping @rmontuoro) might eventually come back to us with more changes needed.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Trivial change (affects only documentation or cleanup)

Checklist:

[ ] I have tested this change with a run of GEOSgcm (if non-trivial)
[x] I have added one of the required labels (0 diff, 0 diff trivial, 0 diff structural, non 0-diff)
[x] I have updated the CHANGELOG.md accordingly following the style of Keep a Changelog

This seems zero-diff to me.  Let's try again!

Okay. Thanks to the merge of #1572 I think this should now all be happy in CI. Let's find out!


some fixes for docker run

I found it not works "out of the box" and have some mistakes in config, so I fixed some, please consider to check.

LGTM @zba thanks.


Weird nav dropdown om jobs page om mobile

Om the jobs page, when i open the dropdown navigation, it opens a small horisontal box, instead of spanning the intire width og the page. I am using a OnePlus 2

I can recreate the problem by re-sizing my browser on desktop:

Also getting inconsistent UI across IE, Firefox and Chrome. In IE it look completely broken.
I can take a look at it and investigate the issue, then submit a PR.


I ported this to Swift

https://github.com/mazz/BibleKit

Praise God! Glad people adding Bible related features can benefit from it through swift


Web - Threads - Unnecessary scrollable empty space in beginning in threads

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

Action Performed:

Open the app and go to any chat.
Hover over any message and click on reply in thread.
Reply to the thread with a message spanning multiple lines or with like 15-20 messages of 1 line each.
Scroll in the chat screen and notice that there is empty space in beginning in chat.

Expected Result:
Empty space should be visible initially when there are less messages but when messages are sent, empty space should be removed.
Actual Result:
There is empty space in beginning which is scrollable.
Workaround:
Unknown
Platforms:

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

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

Version Number: v1.3.36-5
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/3519d1a2-9d8c-4e53-8b56-67469ed32156
https://github.com/Expensify/App/assets/93399543/b739c1ce-98a2-407d-8e81-e43bd442c2cc
Expensify/Expensify Issue URL:
Issue reported by: @Nikhil-Vats
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1688720029425949
View all open jobs on GitHub

Proposal
Please re-state the problem that we are trying to solve in this issue.
Scrollable empty space is visible in the beginning of thread chats.
What is the root cause of that problem?
For rendering the first message in threads, we use ReportActionItemParentAction -
https://github.com/Expensify/App/blob/58f663a2ff05bd06be3dd9a438cad8ad86d3ac68/src/pages/home/report/ReportActionItemParentAction.js#L61-L73
Line 61 and 62 i.e. the two View wrappers are responsible for showing the scrollable empty space in the beginning for thread chats which is not needed since there is no background in the beginning like the main chats. This empty space makes the UI look weird for thread chats.
What changes do you think we should make in order to solve the problem?
We should remove the two View wrappers in line 61 and line 62 and directly show the ReportActionItem -
<OfflineWithFeedback
    pendingAction={lodashGet(props.report, 'pendingFields.addWorkspaceRoom') || lodashGet(props.report, 'pendingFields.createChat')}
    errors={lodashGet(props.report, 'errorFields.addWorkspaceRoom') || lodashGet(props.report, 'errorFields.createChat')}
    errorRowStyles={[styles.ml10, styles.mr2]}
    onClose={() => Report.navigateToConciergeChatAndDeleteReport(props.report.reportID)}
>
    {parentReportAction && (
        <ReportActionItem
            report={props.report}
            action={parentReportAction}
            displayAsGroup={false}
            isMostRecentIOUReportAction={false}
            shouldDisplayNewMarker={props.shouldDisplayNewMarker}
            index={0}
        />
    )}
    {!props.shouldHideThreadDividerLine && <View style={[styles.threadDividerLine]} />}
</OfflineWithFeedback>

What alternative solutions did you explore? (Optional)
NA
Result -
https://github.com/Expensify/App/assets/31413407/8f3386f3-8211-484d-b668-f3fef5f253d1

This is intended - we're working on adding an empty state graphic up there so this looks less confusing
https://expensify.slack.com/archives/C049HHMV9SM/p1688766023115709?thread_ts=1688720029.425949&cid=C049HHMV9SM


How can I install depences like Selenium, MyParser , etc?

How can I install depences like Selenium, MyParser , etc?, sorry but I am a beginner.
I downloaded python 2.7 but I don't know like install depences.

Could you be a little more specific?
Which OS are you running? Which procedures have you tried?
If you have already installed pip, you should be able to install all dependencies doing
pip install -r dependencias.txt

I have windows 7 and I have tried to install with setuptools.


Get demo working

Sign up fail

Just pushed something that should fix the demo... waiting on the build

Nope. Things are running, got some log output:
Mongoose: users.findOne({ 'local.email'<EMAIL_ADDRESS>}) { fields: undefined }
new user!
Mongoose: users.insert({ _id: ObjectId("574d98b56f07bf1100146cbf"), meta: { gravatar: '//www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452', published: [], trashed: [], unPublished: [] }, local: { password: '$2a$10$KQ6EJC/JptqamBEVJKlpz.VgfadMbIeDV6w7.zRZ1T6UZhcIlZUIK', email<EMAIL_ADDRESS>}, __v: 0 })

 process.nextTick(function() { throw err; });
                               ^
at Callbacks.emit (/app/node_modules/mongodb-core/lib/topologies/server.js:119:3)
at Socket.Readable.push (_stream_readable.js:111:10)
npm ERR! Exit status 1
npm ERR! Failed at the<EMAIL_ADDRESS>start script 'node server.js'.
at=error code=H13 desc="Connection closed without response" method=POST path="/signup" host=wikilogic.herokuapp.com request_id=991c1570-d26b-40a0-8e3d-3f1f19a84091 fwd="<IP_ADDRESS>" dyno=web.1 connect=1ms service=505ms status=503 bytes=0

gulp-sass cannot be found, error happens in the gulp file :(

Getting closer, now just need to make sure email gets passed to the db on sign up, currently it's coming through as null so we get duplicate key errors. Also should catch that and return the appropriate response.


Search on documentation does not show results or direct to results on enter press

Version
3.0.1
Reproduction link
https://router.vuejs.org/
Steps to reproduce
Type something into the search box on https://router.vuejs.org/
What is expected?
I am assuming it is intended to have the same behaviour as the core documentation https://vuejs.org/v2/guide/
What is actually happening?
No results popdown is displayed

Ran into this bug when trying to search for something in the documentation.  I checked the issues list on  https://github.com/vuejs/vue-router/issues and did not see anything related to the search on the documentation
Noticed this bug in the console, could be related (though I doubt that)
https://imgur.com/a/kybpG3j

Cannot reproduce, you may have an ad blocker blocking that content


#StandWithUkraine

#StandWithUkraine
Sincere and deep sympathy with colleagues in Ukraine, and neighboring countries in this very difficult time!!
Many of us want to help! We could collect some links and information about possibilities and offers of support from our institutions here?

GBIF’s response to the war in Ukraine News item 2022-03-03

Statement from the Consortium of European Taxonomic Facilities (CETAF) on the invasion of Ukraine Posted 2022-03-07

The University of Oslo is maintaining an overview of support and procedures here
See also the condemnation of Russia’s attack on Ukraine  from the University Council of Norway (UHR) - In Norwegian

Countless institutions have opened on-site positions for Ukrainian researchers - a huge thanks to them - but we also need support for those who stay in Ukraine and lost their funding/facilities, and often even homes https://t.co/zNryc7Zand
Twitter — Oleh Prylutskyi (@oleh_prylutskyi) March 18, 2022

@dagendresen thank you for supporting Ukraine! We're experiencing tough times, and in spite of the fact we will inevitably win, we are going to face a deep economical, social, and institutional crisis. That's why we will need a strong support in capacity enhancement, i.e. in the area of biodiversity management and research. So we need a recovery plan for Ukraine in that area too, right away. Let's call it "Ukrainian biodiversity data management Marshall Plan". Hope ECA 2022 will be a platform for such discussion.


Fix crash when exporting animations with Full Collection Hierarchy option enabled.

Hi,
This pull request addresses an issue where the exporter crashes when attempting to export animations with the Full Collection Hierarchy option enabled.
Changes made:

Modified the animation caching logic to properly handle collections in the hierarchy
Ensured that collection objects are skipped in the object_caching function

This fix allows users to successfully export animations while using the Full Collection Hierarchy option without experiencing crashes.
Please review and let me know if any further changes or information are needed.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Can you please confirm that you tested on 4.2, because this bug should already been solved between 4.1 and 4.2
Also, please provide a test .blend file that crash before your PR and not after your PR

I tested this on both 4.2 and the latest main branch, but it still crashed.
I'm attaching the blend file that causes the crash.
You can reproduce the crash by checking both 'Scene Graph > Full Collection Hierarchy' and 'Animation' options when exporting."
car.blend.zip

Hello,
I can confirm the crash.
I will go with my own implementation:

Early checks, avoiding checking hasattr for each object
Checks style more aligned with other part of the code ( checking vtree type instead of real Blender object type)

See #2287


Newline indentation for JSX jumps back one tab on each new line

I have trouble using language-babel in Atom in JSX files. Each new line takes the indentation to parent level. So I have to use Tab key to manually align the lines. Furthermore, each grammar check does the same thing. So when I define attributes for a div or some other tag, each space will trigger the line to jump back to the wrong indentation even if I have manually fixed it.
When I turn off language-babel plugin, the problem disappears.
Default settings for the Atom plugin. Let me know, if you need other technical info.

Found a fix, but not the real source of the problem. It seems Atom keeps switching between two plugins for the same files - language-babel and language-javascript-jsx. Disabling the latter plugin seems to solve the issue for now.
Since these plugins are probably not meant to be used at the same time, I will close this issue as resulting from improper use.


New version: Seewo.SeewoIwbAssistant version <IP_ADDRESS>2

This pull request is automatically generated by 🥟 Dumplings in #2905
Microsoft Reviewers: Open in CodeFlow

(Hold on for some days)

/AzurePipelines run


No endpoints found on Globalnet deployment

What happened:
Showing information for cluster "nmanos-cluster-a":
    Discovered network details:
        Network plugin:  OpenShiftSDN
        Service CIDRs:   [<IP_ADDRESS>/16]
        Cluster CIDRs:   [<IP_ADDRESS>/14]
        Global CIDR:     <IP_ADDRESS>/19
CLUSTER ID                    ENDPOINT IP     PUBLIC IP       CABLE DRIVER        TYPE
nmanos-cluster-a              <IP_ADDRESS>   <IP_ADDRESS>    libreswan           local
default-cl1                   <IP_ADDRESS>    <IP_ADDRESS>  libreswan           remote
GATEWAY                         CLUSTER                 REMOTE IP       CABLE DRIVER        SUBNETS                                 STATUS
default-cl1-l5mpb-worker-8d6gh  default-cl1             <IP_ADDRESS>    libreswan           <IP_ADDRESS>/19                         connected
NODE                            HA STATUS       SUMMARY
ip-10-166-110-60                active          All connections (1) are established
COMPONENT                       REPOSITORY                                            VERSION
submariner                      quay.io/submariner                                    devel
submariner-operator             quay.io/submariner                                    devel
service-discovery               quay.io/submariner                                    devel
Showing information for cluster "default-cl1":
    Discovered network details:
        Network plugin:  OpenShiftSDN
        Service CIDRs:   [<IP_ADDRESS>/16]
        Cluster CIDRs:   [<IP_ADDRESS>/14]
        Global CIDR:     <IP_ADDRESS>/19

No endpoints found

subctl version: v0.8.0-17-g457411a

Pod status on cluster B shows:
NAME                                      READY   STATUS        RESTARTS   AGE
pod/submariner-gateway-8pjvq              1/1     Running       0          12m
pod/submariner-operator-dcbdf5669-5xrqf   1/1     Running       0          13m
pod/submariner-routeagent-2n2ss           0/1     Terminating   0          11d
pod/submariner-routeagent-869kb           0/1     Terminating   0          9d
pod/submariner-routeagent-9gjnk           0/1     Terminating   0          24h
pod/submariner-routeagent-g7d8m           0/1     Terminating   0          7d
pod/submariner-routeagent-jn7s7           0/1     Terminating   0          7d16h
pod/submariner-routeagent-k2ckf           0/1     Terminating   0          24h
pod/submariner-routeagent-lf8zc           0/1     Terminating   0          4d
pod/submariner-routeagent-tlks8           0/1     Terminating   0          8d
pod/submariner-routeagent-wk795           0/1     Terminating   0          2d
pod/submariner-routeagent-xc85k           0/1     Terminating   0          11d

How to reproduce it (as minimally and precisely as possible):
Happened few times already, since 0.8.0 was released.
For example, see these test runs:
https://qe-jenkins-csb-skynet.cloud.paas.psi.redhat.com/job/Submariner-OSP-AWS-Globalnet/53/Test-Report/
https://qe-jenkins-csb-skynet.cloud.paas.psi.redhat.com/job/Submariner-OSP-AWS-Globalnet/54/Test-Report/
(pod logs collection at the end)
Environment:

Submariner version: v0.8.0-17-g457411a

OCP cluster A (AWS):
Client Version: 4.6.9
Server Version: 4.6.9
Kubernetes Version: v1.19.0+7070803

OCP cluster B (OSP):
Client Version: 4.6.9
Server Version: 4.4.3
Kubernetes Version: v1.17.1

Looking at the operator logs, I see the following errors.
2020-12-31T06:34:18.211Z        ERROR   controller-runtime.controller   Reconciler error        {"controller": "submariner-controller", "name": "submariner", "namespace": "submariner-operator", "error": "Operation cannot be fulfilled on submariners.submariner.io \"submariner\": the object has been modified; please apply your changes to the latest version and try again"}
github.com/go-logr/zapr.(*zapLogger).Error
        /go/src/github.com/submariner-io/submariner-operator/vendor/github.com/go-logr/zapr/zapr.go:128
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
        /go/src/github.com/submariner-io/submariner-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:248
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
        /go/src/github.com/submariner-io/submariner-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:222
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker
        /go/src/github.com/submariner-io/submariner-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:201
k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1
        /go/src/github.com/submariner-io/submariner-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:152
k8s.io/apimachinery/pkg/util/wait.JitterUntil
        /go/src/github.com/submariner-io/submariner-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:153
k8s.io/apimachinery/pkg/util/wait.Until
        /go/src/github.com/submariner-io/submariner-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88
2020-12-31T06:34:18.223Z        INFO    controller_submariner   Cluster network discovered
2020-12-31T06:34:18.223Z        INFO    controller_submariner   Discovered K8s network details  {"plugin": "OpenShiftSDN", "clusterCIDRs": ["<IP_ADDRESS>/14"], "serviceCIDRs": ["<IP_ADDRESS>/16"]}
2020-12-31T06:34:18.223Z        INFO    controller_submariner   Using detected CIDR     {"type": "Cluster", "CIDR": "<IP_ADDRESS>/14"}
2020-12-31T06:34:18.223Z        INFO    controller_submariner   Using detected CIDR     {"type": "Service", "CIDR": "<IP_ADDRESS>/16"}
2020-12-31T06:34:18.333Z        INFO    controller_submariner   Created a new DaemonSet {"Request.Namespace": "submariner-operator", "Request.Name": "submariner", "DaemonSet.Namespace": "submariner-operator", "DaemonSet.Name": "submariner-gateway"}

Also, this error
2020-12-31T06:34:36.597Z        ERROR   controller-runtime.controller   Reconciler error        {"controller": "submariner-controller", "name": "submariner", "namespace": "submariner-operator", "error": "unable to retrieve the complete list of server APIs: proxy.open-cluster-management.io/v1beta1: the server is currently unable to handle the request"}
github.com/go-logr/zapr.(*zapLogger).Error
        /go/src/github.com/submariner-io/submariner-operator/vendor/github.com/go-logr/zapr/zapr.go:128
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
        /go/src/github.com/submariner-io/submariner-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:248
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
        /go/src/github.com/submariner-io/submariner-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:222
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker
        /go/src/github.com/submariner-io/submariner-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:201
k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1
        /go/src/github.com/submariner-io/submariner-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:152
k8s.io/apimachinery/pkg/util/wait.JitterUntil
        /go/src/github.com/submariner-io/submariner-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:153
k8s.io/apimachinery/pkg/util/wait.Until
        /go/src/github.com/submariner-io/submariner-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88

The reason for the above error is because one of the K8s services is not in Ready state
kubectl get apiservices
<SNIP>
v1beta1.proxy.open-cluster-management.io          open-cluster-management/ocm-proxyserver                            False (FailedDiscoveryCheck)   30d

Also, the kubelet running on master2 node is not responding so it was marked as NotReady. It's probably due to low Disk space on that node. We have seen similar incidents with other nodes of this cluster earlier.

Thanks @sridhargaddam ,
I've restarted the underlying VMs, and the problem has gone:
https://qe-jenkins-csb-skynet.cloud.paas.psi.redhat.com/job/debug_job/918/Test-Report/


Build a source distribution of Elyra when creating a release

Conda-forge packages require a source distribution to be used instead
of a wheel. This will need to be published alongside the wheel in Pypi
We will need to retroactively(if possible) publish a source dist of elyra for 1.0.0 using the tagged release into pypi to get the conda forge package going, or wait until the next 1.x.x release.

@akchinSTC have you actually tried to "install from source package" in a clean environment? Does that work?

@lresende - it works. used a clean conda env with python 3.7. Uses still need to run jupyter lab build but thats the same install flow as with our wheel.

Also published a 1.0.1 release with both wheel and source tar.


add scss support and make nodemon development server

SCSS support in development and production.
In dev, works by bundling with the javascript so that it works with the HMR.  In production, works by generating app.css using sass command then minifying to app.min.css and inserting into client/index.js.
To test:

confirm npm start works as intended
confirm npm run-script start:prod works as intended

I feel stripping out support for vanilla css, and only supporting one CSS preprocessor is a step in the wrong direction. Could you alter this PR to add Sass support rather than a full swap out?

Agree with @beaucharman !

makes sense, I'll modify

@evansendra @beaucharman @mayankchd Why use SCSS if exists PostCSS and SCSS parser for PostCSS?
PostCSS at the moment already have among modules mern-starter.

Thanks @evansendra. Looks good!

@beaucharman @mayankchd this should be modified appropriately now.  Let me know if you see anything else that needs fixing before a potential merge!

I think the style file must be imported on the client and define it in a variable in webpack with this make the user choose the value of that variable

@carloscuatin can we create a seperate PR for nodemon? so we can get this merged ASAP
@beaucharman I agree, what if we want to do inline styling like radium? I think adding scss support should be applied to the scaffolding aspect so you can choose at start of the project
@prank7 @mayankchd @carloscuatin thoughts?

Yeah if we want to add this to the scaffolding part I think that could be a separate PR in mern-cli and then  I could remove the style folder with the SCSS and just leave the rules in the webpack config files

What's the status on this? Would be great to have SCSS support in master. The scaffolding could maube be added later right?

Hey @yn5 I'll take a look at this later this weekend!

Hey @evansendra wanted to let you know that I tested this code and it worked perfectly for me. Also, I think that you missed an opportunity to name the script sassinate. ^___^

Hi there, also wanted to comment and say thanks for this @evansendra. Manually added this code to my project and SCSS is working well and the "watch-sass" is a great addition. Cheers!

PostCSS with css-modules is implemented on v2 branch(510101fbaadfce16d58134e21d6d3528e886febd). Closing this in favour of that. Thank you very much for your effort, @evansendra.


Deprecation of HttpResponseWriter.respond() leads to verbose code

For example, with the current API:
private HttpResponse doPost(ServiceRequestContext ctx, HttpRequest req) {
    CompletableFuture<HttpResponse> future = new CompletableFuture<>();
    ctx.blockingTaskExecutor().execute(() -> {
        ...
        future.complete(HttpResponse.of(HttpStatus.OK));
    });
    return HttpResponse.from(future);
}

Before deprecation:
private HttpResponse doPost(ServiceRequestContext ctx, HttpRequest req) {
    HttpResponseWriter res = HttpResponse.streaming();
    ctx.blockingTaskExecutor().execute(() -> {
        ...
        res.respond(HttpStatus.OK);
    });
    return res;
}

Obviously, the former would be more efficient because it uses an optimized version of HttpResponse, but it looks more verbose than the latter. What could we do to improve this?
/cc @anuraaga @imasahiro @kojilin

When DererredHttpResponse was not deprecated, we did this, which has less level of indirection:
private HttpResponse doPost(ServiceRequestContext ctx, HttpRequest req) {
    DeferredHttpResponse res = new DeferredHttpResponse();
    ctx.blockingTaskExecutor().execute(() -> {
        ...
        res.delegate(HttpResponse.of(HttpStatus.OK));
    });
    return res;
}

Although this isn't ideal either, it's slightly less verbose and more efficient than the first example.

Perhaps this could get better if we add some more methods to DeferredHttpResponse (and maybe to HttpResponseWriter as well?):
private HttpResponse doPost(ServiceRequestContext ctx, HttpRequest req) {
    DeferredHttpResponse res = HttpResponse.deferred();
    ctx.blockingTaskExecutor().execute(() -> {
        ...
        res.close(HttpStatus.OK);
    });
    return res;
}

The last example looks good to me . 👍

I was the one who was insisting that we need those APIs after deprecating the HttpResponseWriter.respond(...). Because I feel that it's not convenient and a little verbose to implement the logics when we need to return the Future first and complete it later.
After thinking about it a little bit more, I kinna agree that we might not need them which can be more loads to our clients.
I'm still not sure which way is a better way. But if it ends with not adding those APIs, I hope to add the very first example to the javadoc so that our clients can adopt more easily :-)

Let me close this.


Add Spring example apps

Add Spring boot example app.
Add Spring boot web based example app.
Add close method to Bugsnag to ensure it tears down connections (this is automatically called by Spring when tearing down the bean).
Change the simple example to use close rather than Shutdown.

LGTM