Update and rename content/github/authenticating-to-github/connecting-…

…to-github-with-ssh.md to contenido/github/autenticación en github/connecting-to-github-with-ssh.md

Why:

What's being changed:

Check off the following:

[ ] I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[ ] For content changes, I have reviewed the localization checklist
[ ] For content changes, I have reviewed the Content style guide for GitHub Docs.

-/  yo ya avia mandando este contenido /

-/  yo ya avia mandando este contenido /


Time discrepancies in UI

There are a few discrepancies between the time reported in the UI between different views and what is set in the DAG file. Specifically, the time is being reported in different timezones.
My DAG is set to run daily at 1:05:00 EST (relevant code below):
default_args = {
    ...
    'start_date': datetime(2015, 8, 4, 1, 5),
    'schedule_interval': timedelta(days=1),
    ...
}

The logs the tasks create show they start at 1:05:00 EST, so that is fine.
Within the UI, time is reported in EST for the Tree View, Task Duration, Landing Times, and individual Task Logs (I assume the former three get time information from the logs?) as shown below.

The UI webserver reports time in the upper-right hand corner.The Gantt View reports time in UTC even if the selected instance is chosen as EST, as shown below.

Is this expected behavior? Or am I correct in thinking that the views should have a synchronized timezone?

Are you not running your server as UTC? I believe everything everywhere should be server time, except maybe for the clock in the navbar that may be forced to UTC. We run everything in UTC here.
So if I understand well only the Gantt chart is off from your server time?

If you mean the actual machine, it's running in EST. If you mean the [web]server, it's set to UTC (yes, like the clock in the navbar; I know where it is set in source code to change it to EST).
The only time (other than the navbar) set to UTC/off from my server time is the Gantt view.

If by machine you mean server, it's probably a bad idea to run your servers on different time zones. Airflow should still be consistent. It's hard for me to debug since it looks ok on my side, I'm not sure how to recreate, do I need a non UTC server to recreate? All of our servers are UTC

Sorry if I was vague.
All machines are running in EST. Airflow reports the clock in the nav bar and the Gantt view as UTC.
Yes, to reproduce it I believe you will need a server not in UTC, specifically the one running the UI.

And the two mismatching views are the clock in the UI and the Gantt chart right?

I added a UTC suffix to the UI clock to clarify, it may not be what everyone wants but at least it's clear.

Yes, the navbar clock and the Gantt chart are in UTC. The Gantt view is the more important one.

So if the server is GMT+8, the task will be scheduled according to the server's time.
And the UI is forced to use UTC, right?
Can we change the timezone of UI? It's really confusing with different timezones in scheduler and UI.

Here's where the javascript code for the clock is if you want to alter it:
https://github.com/airbnb/airflow/blob/master/airflow/www/templates/admin/base.html#L81
Maybe the clock's API offer to set the time. If that's the case you can pass it the server's time from the template.

Here's tips, if you want to change clock of airflow webserver page.
@haitaoyao I hope this tip can be helpful to you. :)

the left side of header clock

/usr/local/lib/python2.7/site-packages/airflow/www/templates/admin/base.html

    <script>
 81         x = new Date()
 82         //var UTCseconds = (x.getTime() + x.getTimezoneOffset()*60*1000);
 83         var seconds = x.getTime();
 84         $("#clock").clock({
 85             "seconds":"false",
 86             "calendar":"false",
 87             "format":"24",
 88             "timestamp":seconds
 89         }).click(function(){
 90             alert('{{ hostname }}');
 91         });
 92     </script>

the left side of header clock UTC text

/usr/local/lib/python2.7/site-packages/airflow/www/static/jqClock.min.js

<span class='clocktime'>"+p+":"+l+(n.seconds=="true"?":"+v:"")+o+"UTC </span>");t[r]=setTimeout(function(){f($(j),n)},1000)}};f($(this),d)})};

tree view menu

/usr/local/lib/python2.7/site-packages/airflow/www/templates/airflow/tree.html

101   var num_square = base_node.instances.length;
102   var extent = d3.extent(base_node.instances, function(d,i) {
103     dttm = new Date(d.execution_date);
104     dttm.setHours(dttm.getHours())
	   //dttm.setHours(dttm.getHours()+7)
105     return dttm;
106   });


rs-measure in node.js

Required Info

Camera Model
D400

Firmware Version
<IP_ADDRESS>

Operating System & Version
MacOS

Kernel Version (Linux Only)
N/A

Platform

SDK Version
0.2130.0

Language
nodejs

Segment
Robot/Smartphone/VR/AR/others

Issue Description
I am trying to re-write the rs-measurement in node.js. I got all the initialisations and filters set up. My problem now is how I will do the Video Processing Block/Thread. Also, when should I call the dist_3d method? Apologies, I am a complete newbie with the Realsense sdk.

Hi @jeffctrinidad
The threading model in node.js is completely different from regular C++.
You should probably skip creating the thread and block and just apply filters right after poll_for_frames

Hi, @dorodnic! Thanks for responding to my query.
Copy that! But where should I execute the dist_3d? Should it happen after poll_for_frames and inside the Video Processing Thread?
Should I call dist_3d inside the loop?
while(!win.shouldWindowClose()) {
//make the frames spatially aligned
const rawFrameSet = pipeline.waitForFrames();
const alignedFrameSet = align.process(rawFrameSet);
let colorFrame = alignedFrameSet.colorFrame;
let depthFrame = alignedFrameSet.depthFrame;
depthFrame = decimationFilter.process(depthFrame);
depthFrame = depth2disparity.process(depthFrame);
depthFrame = spat.process(depthFrame);
depthFrame = temp.process(depthFrame);
depthFrame = disparity2depth.process(depthFrame);
const colorized = colorMap.colorize(depthFrame);
const stream = profile.getStream(STREAM.STREAM_DEPTH);
const intrinsics = stream.getIntrinsics();
if(colorized) {
//Paint the feed...
}
Thanks!

Hi, @dorodnic! Thanks for responding to my query.
Copy that! But where should I execute the dist_3d? Should it happen after poll_for_frames and inside the Video Processing Thread?
Should I call dist_3d inside the loop?
while(!win.shouldWindowClose()) {
//make the frames spatially aligned
const rawFrameSet = pipeline.waitForFrames();
const alignedFrameSet = align.process(rawFrameSet);
let colorFrame = alignedFrameSet.colorFrame;
let depthFrame = alignedFrameSet.depthFrame;
depthFrame = decimationFilter.process(depthFrame);
depthFrame = depth2disparity.process(depthFrame);
depthFrame = spat.process(depthFrame);
depthFrame = temp.process(depthFrame);
depthFrame = disparity2depth.process(depthFrame);
const colorized = colorMap.colorize(depthFrame);
const stream = profile.getStream(STREAM.STREAM_DEPTH);
const intrinsics = stream.getIntrinsics();
if(colorized) {
//Paint the feed...
}
Thanks!

Hi @jeffctrinidad,
You should have the "dist_3d" before video processing since the original depth data is required.


cmd/compile: bad "cannot declare name" error after dot import

This package is valid, but cmd/compile rejects it with "cannot declare name bytes.Buffer":
package p

import . "bytes"

var _ Buffer // used import "bytes"

func f() {
        Buffer := 0
        _ = Buffer
}

This is similar to #22072, but likely easier to fix.
The root problem is when we have an assignment like x := y we're noding the left-hand side (x) like it's a general Go expression (using exprList), but then later we apply colasdefn to re-declare identifiers as appropriate.
Instead noder should probably apply colasdefn's logic directly to the package syntax AST.


task: update bundle to v99.9.0

Created by the ocp-bundle job in maze88/network-operator OCP bundle CI.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

0 of 0   changed or added relevant lines in 0 files are covered.
5 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.1%) to 64.974%

Files with Coverage Reduction
New Missed Lines
%

controllers/ipoibnetwork_controller.go
5
77.38%

Totals

Change from base Build<PHONE_NUMBER>3:
-0.1%

Covered Lines:
3302

Relevant Lines:
5082

💛  - Coveralls


Run LAMP stack via Lind

Our goal is to run a LAMP (Linux/Apache/MySQL/Python) web-service stack through Lind to demonstrate that Lind can operate programs using its user-space implementations correctly.
We need to:

Run these applications without unexpected errors.
Inspect operation to make sure system calls are being properly routed.

@neelchauhan is going to attempt to build Apache and MySQL

Now that Bash is in good shape I'm going to attempt to build the rest of this stack. My current feeling is to start with a stack of nginx, sql-lite, and Python. I have more familiarity with these and think they'll be lighter-weight to build.

That's fine.  We will also need to do some benchmarking on bash scripts.  We believe Lind should be faster with many pipelines that require context switches, etc. but need to try this out...


find groups administrators

how can i find out that the person who have sent a message in group is admin or not?
please send an example
thanks

@shahryarse we do not provide help on GitHub. If you have trouble with library please follow issue template
If you need to chat, join our group chat.


Pet character physics

This PR is an attempt to add physx character physics to pets

Fixed the y positioning for direction.
Now we're able to use pets with different ground positions ( before it only worked with y=0 grounds )
Though the quaternion when you walk up a ramp is not perfect ; I will fix that next

Fixed the physics raycast quaternion and added a height follow limiter ( for y )
( HEIGHT_FOLLOW_LIMIT_Y is used for limiting the difference between the players position ( with the new Y ) and the pet Y position )
This is ready for QA/Testing
Uploading 2022-08-13 19-41-17.mp4…

Further, if we figure out the abstract character controller here, it can be a drop-in usage for mobs too, solving many mobs bugs in the process. And pets, characters, and mobs would all share intelligent capabilities we are developing here.
These all seem similar enough to be using the same controller code.

I'll add a shared character controller class ( for avatars/pets/mobs ) and come back to this PR later


Rover mode for Pixhawk Cube?

I'm trying to get a Rover working with Pixhawk cube and TX2.
When I use your custom firmware, there's no option for Rover, only air frames.
When I use APM firmware, there is an option for Rover, but there's no SYS_COMPANION parameter, and I'm not getting any status updates from MAVROS.
Any ideas?
Thanks!!

I think at this point we are out of luck as Redtail has not yet been ported to the APM stack and the object avoidance system from the APM developers has not yet been ported to the TX2.  It sounds like both are in the works but not yet released.
Cheers, RB

So, I've been playing around a lot, and now I can get messages back from pixhawk.
I flashed the pixhawk cube with APM Rover firmware image.  I can get things going with this command:
roslaunch mavros apm.launch fcu_url:="/dev/ttyACM0:921600"
Then issuing the following command I can see compass heading get updated.
rostopic echo /mavros/global_position/compass_hdg

There is currently a very limited support for APM rovers in redtail. Few things to mention:

make sure you are using latest stable version of APM Rover firmware
if applicable, use proper parameters for your frame.
configure TELEM2 port on your Cube to work with TX2.

px4_controller currently supports so-called RC override mode for rovers which is essentially a direct control of the motors which is a hack. The proper way is to use waypoints, same as in case of the drones. The reason we could not do it on the rover is various APM limitations which hopefully will be fixed in future releases. Internally we use AION R1 rover with our own custom version of APM as well as VO system.
For those who are interested in RC override version, we published a .launch file for R1 which demonstrates how to run px4_controller in RC override mode in APM rover.

Closing, feel free to re-open or create a new one.


Toolbox bombing are back baby!

About the PR
Read CL.
Why / Balance
Toolbox bombing was fun.
Technical details
Partially reverts the https://github.com/space-wizards/space-station-14/pull/32423
Changelog

tweak: c4 connected to signaler will detonate instantly once again.

Summary by CodeRabbit

New Features

Updated triggering mechanism for C4 and SeismicCharge explosives to enhance activation control.
Transitioned from timer-based triggers to direct signal-based triggers for improved responsiveness.

Bug Fixes

Corrected component types in explosive entities to ensure proper functionality.

Unrelated test failure.
 It was better when it was rude.


Sym

这个分支是在1.1.62.android 分支的基础上编写的可以通过fastJson快速生成测试数据，供android开发测试使用

 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.


Vertically center dots on query tab

Dots should be vertically centered on the query tab.

My instinct from a design perspective is that the menu icon in the corner is the correct way to do it- but maybe a different menu icon like a hamburger?


Make the mkdir invocation compatible with Windows

This prevent a superfluous directory with name -p being created on Windows, where mkdir.exe does not support the -p option. The option is redundant, since the directory's parent will always exist.
Fixes #5.

One additional effect of removing the -p argument to mkdir, is that if the named directory already exists, the command will exit with:
A subdirectory or file treeherder-stage already exists.
 !    Command failed: mkdir treeherder-stage
 !    A subdirectory or file treeherder-stage already exists.

I personally think this behaviour is preferable (avoids clobbering an existing directory), but thought I should mention it now that I've noticed it.


[ALLUXIO-2143] Improve comment for NonUniqueFieldIndexIterator mIndexIterator

https://alluxio.atlassian.net/browse/ALLUXIO-2143
I just update the Iterator to iterator

Can one of the admins verify this patch?

"Commits associated with Github account: false
It looks like your commits on GitHub aren't linked to a valid Github account yet. Your commits are made with the email<EMAIL_ADDRESS>which is not associated with your Github account. For us to properly credit your contributions, could you please set up your Github account by following the Github instructions here?"

alluxio-bot, check this please

+1 LGTM
thanks for the contribution.

alluxio-bot, check this please


Help with Github Probot running on AWS Lambda

I'm currently trying to deploy a Github bot to AWS Lambda. However, when testing the bot, there is a function in my code that causes an error.
The yamlFile() function gets the content of a file from a user's Github repo, and returns it. However, when tested, the function will get to the first trying to get yaml log, but never reach the second we got the yaml log.
There is also no error that is logged out as a result of the try/catch.
Since the AWS Lambda functions receives webhooks from AWS, this function is called multiple times (from multiple webhooks). This function runs correctly for the first call, but gives us the above issue on the second call.
Prior to deploying on AWS Lambda, this exact code was running on Heroku, and worked fine there, without any issue.
AWS Config settings:

30 sec timeout
2048mb memory

const yamlFile = async (context) => {
  try {
    console.log("trying to get yaml")

    var yamlfile = await context.octokit.repos.getContent({
      owner: context.payload.repository.owner.login,
      repo: context.payload.repository.name,
      path: ".bit/config.yml",
    });

    console.log("we got the yaml")
    // console.log(yamlfile)
  } catch (e) {
    console.log("Error with getting content of yaml");
    console.log(e)
    return null
  }
  console.log("got yaml, but no content yet");
  yamlfile = Buffer.from(yamlfile.data.content, 'base64').toString()
  // console.log(yamlfile)
  try {
    let fileContents = yamlfile
    configyml = yaml.load(fileContents);
  } catch (e) {
    const issueBody = context.issue({
      title: "[ERROR] Please read",
      body: `There was an issue parsing the config file of this course. Please contact your counselor and send them the below error.\n${e}`,
    });

    context.octokit.issues.create(issueBody)
    console.log("ERROR: " + e);
    return null
  }
  console.log("returining configyml")
  return configyml;
}

That's a very specific question, better asked on Stackoverflow, which looks you already did. It looks most likely like an AWS Lambda issue, I cannot help with that, sorry


[Fix #5333 & 5339] Resolve false positives in EmptyLineAroundArguments

The two issues resolved here were two different problems in Style/EmptyLineAroundArguments, but this change resolves both. Check #5333 and #5339 for false positive details.
Currently, Style/EmptyLineAroundArguments checks for empty lines within the range of lines a method's arguments span. In addition to the issues linked here, this required special block argument logic.
With this change, Style/EmptyLineAroundArguments will look for empty lines before and after arguments, but NOT look inside an argument itself.

[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run rake default or rake parallel. It executes all tests and RuboCop for itself, and generates the documentation.

Thanks @garettarrowood! This addresses #5333 quite effectively.  👍

There's one more edge case I want to add to these changes. Give me a few minutes and I'll update now.


Is R.construct(Date) supposed to work?

> new Date(1)
1970-01-01T00:00:00.001Z
> R.construct(Date)(1)
[Function (anonymous)]

It' the correct behaviour. In fact it returns the curried constructor since Date.length = 7:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date

@bunglegrind thanks for the explanation :heart:
> R.construct(Date).length
7
> R.construct(Date)(1).length
6

There is also R.constructN btw:
R.constructN(1, Date)(1)


Implement Enhanced Boss Fight Sequences and Placeholder Dialogue System

Description
This pull request implements improvements to the Boss Room Sequences and Dialogue system, enhancing boss encounters and character interactions. The changes include health-based behavior changes for the boss, summoning mechanics, and interactive dialogue integration.
Key changes:

Implemented health-based behavior changes for the boss
Developed boss disappearance and reappearance mechanics
Integrated Alert box system as a placeholder for dialogue boxes
Implemented summoning of enemy animals during boss fight

Please note that I had to recommit in this new branch due to previous issues in IntelliJ. This PR includes the working task ticket I made before.
Fixes / Closes #(issue number for the boss room improvement task)
Type of change

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Due to time constraints, comprehensive testing has not been completed. However, the core functionality has been manually verified to work as expected.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] My changes generate no new warnings
[x] Any dependent changes have been merged and published in downstream modules

Additional Notes:

The task ticket is complete except for the tests, can't until other teams resolve their issues.
I have pulled from team-6-maps and team-7-animals, so the code is up to date with the latest changes.
The Alert box is currently used as a placeholder for the dialogue box system, as Team 1 did not complete the dialogue box implementation yet.
There is a bug issue with the Alert box (not part of my task - currently team 1 is working on replacing them with bialogue boxes).
There is also a mini-map issue, which is being handled by the maps team.

This pull request is ready for review and integration, pending the resolution of the mentioned issues and completion of tests and documentation.

I have added the dialogue box system, as Team 1 has completed and is now working on it. I have pushed the changes to be merged into the team branch.


add basePath to BeamLocation

Because often Beamer.of(context).beamTo(MyLocation()) is not what the developer expects. This is especially useful when BeamLocation has just one page.

But still useful


Refactor on discovery/manager_test.go

As discussed with @cstyan here, I created this PR.
Changes including

Use testutil.ToFloat64 to collect testing metrics
Declare ServiceDiscoveryConfig directly instead of calling Unmarshal on a piece of YAML

I didn't replace yaml.UnmarshalStrict in TestApplyConfigDoesNotModifyStaticProviderTargets, instead of implementing a way to do deep clone, current implementation is still a good way.
@cstyan Please review it.

@beorn7 Thank you for help. Everything gets fixed now, please check and merge.


[BEAM-12697] Add primitive field generation from IR to SBE extension

This gets a basic schema representation started to the SBE extension. It focuses on IR, since it's easier to work with and is in the most immediate need.
It's technically possible to generate a Beam schema and PayloadSerializer from this, but I'm saving that for a future PR. Otherwise, this works with very simple schemas.
This doesn't translate directly to a Beam schema, since using an IR doesn't support encoding (i.e. there's an OtfDecoder but no OtfEncoder, which is understandable). If we ever get a request to do SBE encoding from an IR, we'll need to implement it ourselves, so this is set up to easily start tracking additional info if it ever comes to that.
The decision was also made to let users set how to handle unsigned types, which is a deviation from the original plan, but I don't think it was ever firmly established if forcing a higher bit count was acceptable.

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

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.

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

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Run CommunityMetrics PreCommit

communitymetrics is failing at head: BEAM-14017
java precommit failure is unclear. gcp and jackson extensions fail in compileJava, but I don't see a clear error

Run Java PreCommit

@zhoufek is this ready for another review?

Yes, it should be ready.

Looks like the Java precommit errors are unrelated based on this line:

Task :runners:direct-java:needsRunnerTests FAILED

Yeah failure is in org.apache.beam.sdk.transforms.ParDoLifecycleTest.testTeardownCalledAfterExceptionInFinishBundleStateful which is BEAM-7752

codecov/project/go is still running 1.5 hours later. I'll go ahead and merge though. That check is not relevant for this PR.


Improvements to the macOS dmg

I cannot find a mockup for the installer, but we can refine this by fixing some minor details:

[ ] the OONI logo is out of the windows. Is intentional on a beta version?
[ ] inner subsection nav makes a double top nav. We should remove both.
[ ] the background looks pixelated. Make sure you are giving support for @2x and @3x retina displays.

the OONI logo is out of the windows. Is intentional on a beta version?
inner subsection nav makes a double top nav. We should remove both.

I suspect these two issues are related. Do you perhaps have some special settings to how your windows on macOS look like?
Here is how the DMG looks like when I open it in my computer:

the background looks pixelated. Make sure you are giving support for @2x and @3X retina displays.

You are right. It appears that electron-builder doesn't natively support this, but they link to a stackoverflow issue for a possible workaround. See: https://www.electron.build/configuration/dmg

@holantonela I fixed these in: https://github.com/ooni/probe-desktop/pull/84#issuecomment-558760824. Does this looks OK?

I gave a little bit more margin to the OONI Probe logo so that even if you have some different Finder settings it should still not cut the logo.


Blocking at emitting LicenseWebpackPlugin when npm start.

** Angular Live Development Server is listening on localhost: 4200, open your browser on http://localhost:4200/ **
 95% emitting LicenseWebpackPlugin

@lizhigang858  Hi, from your name, I guess you are from China, and perhaps, you are using cnpm install instead of npm install, which cause your issues. Maybe it's cnpm's bug or something. just use npm install, issue gone.

it's real....
i use lantern
and everything is ok

Added Troubleshooting sectiomn to README.md.


Push Gateway module can't be found on Maven Central

Hi !
Firstly, thanks a lot for this great work ! I am pretty excited to use Prometheus in a pure functionnal way !
I would like to use epimetheus library in a use case where I need to push metrics to a push gateway but I have been surprised not to find this part of the project on Maven Central.
Since epimetheus-http4s-pushgateway project is not aggregated in the root project, I guess that this is not published by the sbt-ci-release plugin. Is this something desired ?

Oh goodness, thats a total mistake. thanks for raising this to my attention!

0.4.2 should be on it way to maven central
https://travis-ci.com/github/ChristopherDavenport/epimetheus-http4s/jobs/364080096


After transforming, a block should be reparsed as stats

#161 was suppose to fix it, but it still appears to be a problem.
Example:
import scala.meta._

val source = q"""

  def test(): Unit = {
    val d = IWantToBeAClass()
  }

  """

val result = source.transform {
  case defn: Defn.Val if defn.syntax.contains("IWantToBeAClass") =>
    q"""
      trait B
      class A extends B
      val d = new A
    """
}

Should produce
  def test(): Unit = {
    trait B
    class A extends B
    val d = new A
  }

but actually produces
  def test(): Unit = {
    {
      trait B
      class A extends B
      val d = new A
    }
  }

Tested on paradise 3.0.0-M7 and scalameta 1.6.0

I think this is working as expected, since you are transforming a term to another term. The only way three statements can be a term is to wrap them in a term.block. It seems you need to flatMap on the stats of the enclosing term.block.
Maybe the transformer can be changed to accommodate expanding a single term to multiple terms, but don't know so much of the Transformer internals.

Hmm...
So I believe this should be closed as wontfix, here's the issue...
transform must return a single Tree, which forces it to return a Term.Block
Explanation
Input
def test(): Unit = {
  @expander val d = IWantToBeAClass()
}

Output
def test(): Unit = {
  trait B
  class A extends B
  val d = new A
}

Note: This actually should be a nested block.
def test(): Unit = {
  {
    trait B
    class A extends B
    val d = new A
  }
}

The current code is...
val expandeesArg = expandees.map(_.toMtree[m.Stat]) match {
              case Nil =>
                abort("...")
              case tree :: Nil      => tree
              case list @ _ :: tail => m.Term.Block(list.asInstanceOf[Seq[m.Stat]])
            }

Which says the following.
If it is a single term, return that term.
If multiple terms, wrap in a Term.Block
Which boils down to this:
If it is a single term that is a Term.Block just return it, rather than wrapping.
The moment that you add extra stats to that class, the second block is triggered.
The issue if we resolve this
Heres some perfectly valid code

### The main question

Is there an issue with

I agree, this is working as intended.
The macro annotations special case Term.Block to support injecting a companion object. In my opinion, we shouldn't overload Term.Block for that use-case in macro annotations. We should instead type the input/output of macro annotations from Any => Any to something MacroArg => MacroArg (name up for debate)
sealed trait MacroArg
case class NoCompanion(defn: Defn) extends MacroArg
case class WithCompanion(defn: Defn, obj: defn.Object) extends MacroArg
// need to support Decl too

@CremboC to expand a val into a list of terms, you can match on Term.Block or Template and flatmap the stats.


Fix for dynamic thumb generation with input[type=slider]

In the code
  // If thumb indicator does not exist yet, create it
  if (thumb.length <= 0) {
    thumb = $('');
    $(this).append(thumb);
  }

has to be changed to
  // If thumb indicator does not exist yet, create it
  if (thumb.length <= 0) {
    thumb = $('');
    $(this).after(thumb);
  }

to make it work.

It looks solved in the current version
https://github.com/Dogfalo/materialize/blob/e45393d185e55f3745614660f4532f255ffc9338/js/forms.js#L222


Query: Performance Module or Benchmark

Do BOND library has  benchmark. Want to check performance of BOND library with different compilers.

Do these help?

Issue #122: Slow serialization
Issue #63: Benchmarks

I haven't heard anything more, so I'm going to close this issue. Please re-open if needed.


Update channel open to be async and for new upstream API

Thanks! Addressed comments in fixup commits, let me know if you want me to squash.

Thanks! Addressed comments in fixup commits, let me know if you want me to squash.

Hmm.. Squashing is slightly preferred but nbd.

Addressed and squashed.


The IAB chair and IETF chair should be able to send liaison statements with their role address in the From

Right now, Mirja can't send a liaison statement from<EMAIL_ADDRESS>The liaison tool will only let her choose<EMAIL_ADDRESS>In Feb 2021, to work around this, a "IAB Chair" user was created in the datatracker and given the ability to send using the liaison tool.
This was not the best thing to have happened, and needs to be reworked.
Instead, the liaison statement tool should recognize role holders of particular roles, specifically the IAB or IETF chair, and give them the option to send from the chair alias rather than one of their personal email addresses.
cc: @mirjak, @larseggert

Yes, please.

Also yes, please!


Support S2S auth for custom plugin

Hi team, I am wondering if S2S auth token is supported for custom plugins? If so, what would be the config to enable it. Thanks!

@TaoChenOSU Do you have any information regarding server-to-server auth token support for custom plugins?

Hi @sarahxrm, thanks for your question.
We support Bearer token authentication. For ChatGPT plugins loaded from within the app UI,, we only support it if they are configured with an auth type of user_http. In this case, when you load the plugin you will see a text field where you can enter your key/token and this will be used in the auth header for calls made to the plugin. This works well for things like PAT tokens or fixed secret keys, for OAuth it will only work until the token expires as chat-copilot does not handle refreshing the token.
Does that answer your question?

Thanks a lot! That answers my question.


TestRoutes depends on pre-created server and router

Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug
What happened:
In TestRoutes test case, see [1], we list servers and routers to get the first one in order to set routes, but test case should not depend on pre-created resources in the out-side environment. If there is no active server in OpenStack, that cause test case failed.
What you expected to happen:
TestRoutes test case should create server and router in order to execute the following logic, and clean up these resources at the end of the tests, then OpenLab CI/CD system can be easy to integrate these test cases.
How to reproduce it (as minimally and precisely as possible):

Deploy OpenStack by using devstack, but don't create any servers.
Run test TestRoutes

Anything else we need to know?:
N/A
Environment:

openstack-cloud-controller-manager version:

$ git log -1
commit 9f2413363dd8ef72aeb4547507c566cdd0661cb8
Author: Rui Chen<EMAIL_ADDRESS>Date:   Sat Feb 3 17:57:25 2018 +0800

    Install k8s after OpenStack services up

We are trying to add OpenLab CI support, but face the issue, see here https://github.com/theopenlab/openlab-zuul-jobs/pull/46

Have merged in upstream, let's close this issue after next code sync.


Feat/log generated files

:tada: This PR is included in version 3.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


How can OpenContainer not open a new page?

Use case
I'm gonna try OpenContainer as my dialog animation. I like the animation style that transition from initial container position to final container position tha the OpenContainer shows like the Hero animation does.
However, in my cognition, it can only transforms my little container to a full view page, as was mentioned as the link. https://stackoverflow.com/questions/62400397/opencontainer-flutter-how-to-set-size-of-open-container-default-it-is-opening
Even if my openBuilder returns an AlertDialog,  when I open the dialog,  the content in the original scene is gone. OpenContainer opens a new page.
As the gif below shows, when I click on the initial Container, the transition animation is correct and what I want to do.
However, when the animation ends, former content is gone. The dialog shows on a new page, not on the original page.

Proposal
What I would like to achieve is as the gif shows with OpenContainer.

Can I use OpenContainer to achieve the animation transition I need?
Or is there any other way to achieve the animation I need to click on the container to open the animation box? Just like the way the box from the former position to later postion.

PS D:\> flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.2.1, on Microsoft Windows [Version 10.0.19041.1052], locale zh-CN)
[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.

[✓] Chrome - develop for the web
[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.8.3)
[!] Android Studio (not installed)
[✓] VS Code, 64-bit edition (version 1.56.2)
[✓] Connected device (3 available)

import 'package:animations/animations.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(
    MaterialApp(
      home: OpenContainerTransformDemo(),
    ),
  );
}

class OpenContainerTransformDemo extends StatefulWidget {
  const OpenContainerTransformDemo({Key? key}) : super(key: key);
  @override
  _OpenContainerTransformDemoState createState() {
    return _OpenContainerTransformDemoState();
  }
}

class _OpenContainerTransformDemoState
    extends State<OpenContainerTransformDemo> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Container transform'),
      ),
      body: OpenContainer<bool>(
        transitionDuration: Duration(milliseconds: 1000),
        openColor: Colors.transparent,
        closedColor: Colors.transparent,
        transitionType: ContainerTransitionType.fade,
        // openBuilder: (BuildContext context, VoidCallback _) {
        //   return const _DetailsPage();
        // },
        openBuilder: (BuildContext context, VoidCallback _) {
          return AlertDialog(
            title: Text('You are my hero.'),
            content: Container(
              child: Hero(
                tag: 'developer-hero',
                child: Container(
                  // height: 200.0,
                  // width: 200.0,
                  child: FlutterLogo(),
                ),
              ),
            ),
            actions: <Widget>[
              MaterialButton(
                child: Text('RAD!'),
                onPressed: Navigator.of(context).pop,
              ),
            ],
          );
        },
        tappable: false,
        closedBuilder: (BuildContext _, VoidCallback openContainer) {
          return _ExampleCard(openContainer: openContainer);
        },
      ),
    );
  }
}

class _ExampleCard extends StatelessWidget {
  const _ExampleCard({required this.openContainer});

  final VoidCallback openContainer;

  @override
  Widget build(BuildContext context) {
    return SizedBox(
      height: 300,
      width: 300,
      child: InkWell(
        onTap: openContainer,
        child: FlutterLogo(),
      ),
    );
  }
}

class _DetailsPage extends StatelessWidget {
  const _DetailsPage({this.includeMarkAsDoneButton = true});

  final bool includeMarkAsDoneButton;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: FlutterLogo(),
    );
  }
}

@tsuiwade
Are you looking for solutions or proposing a feature / functionality to solve your issue ?
What exactly are you trying to achieve can you elaborate on that using a code sample, issue you are facing along with what would you like to achieve using OpenContainer ?
Thanks.

@darshankawar
I am sorry that the previous question could not be expressed clearly. Now the question has been updated, please take the time to answer it for me. Thanks!

I have tried another method Hero dialog transition. Can I add the PositionedTransition to set the path?
However, as the gif shows, when I close the dialog, the closed content will become the biggest, then got smaller.

import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(
    home: HomePage(),
  ));
}

class HeroDialogRoute<T> extends PageRoute<T> {
  HeroDialogRoute({required this.builder}) : super();

  WidgetBuilder builder;

  @override
  bool get opaque => false;
  @override
  bool get barrierDismissible => true;
  @override
  Duration get transitionDuration => const Duration(milliseconds: 600);
  @override
  bool get maintainState => true;
  @override
  Color get barrierColor => Colors.black54;
  @override
  String get barrierLabel => "I don't know how to use it.";

  @override
  Widget buildTransitions(BuildContext context, Animation<double> animation,
      Animation<double> secondaryAnimation, Widget child) {
    return FadeTransition(
        opacity: CurvedAnimation(parent: animation, curve: Curves.easeOut),
        child: child);
  }

  @override
  Widget buildPage(BuildContext context, Animation<double> animation,
      Animation<double> secondaryAnimation) {
    return builder(context);
  }
}

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Hero demo'),
      ),
      body: Align(
        alignment: FractionalOffset.topLeft,
        child: Card(
          child: InkWell(
            onTap: () {
              Navigator.push(
                context,
                HeroDialogRoute(
                  builder: (BuildContext context) {
                    return Hero(
                      tag: 'developer-hero',
                      child: AlertDialog(
                        title: Text('You are my hero.'),
                        content: Container(
                          child: Container(
                            height: 200.0,
                            width: 200.0,
                            child: FlutterLogo(),
                          ),
                        ),
                      ),
                    );
                  },
                ),
              );
            },
            child: Hero(
              tag: 'developer-hero',
              child: Container(
                width: 300.0,
                height: 300.0,
                child: FlutterLogo(),
              ),
            ),
          ),
        ),
      ),
    );
  }
}

@darshankawar
Thanks for the details and code sample. I ran it and see below:
https://user-images.githubusercontent.com/67046386/124080182-b3534e80-da67-11eb-9019-8c3f60500c8c.mov
What exactly is the issue are we talking here ?

@darshankawar  Thank you!
Yes, I have provided two pieces of code, and you are running my first piece of code.
I just need the animation form presented by this code, which expands from the original container.
However, the dialog box opened is on a new page, and the original page is gone.  Just as the background of the previous page was white, then it became black.
What I want to ask is whether the dialog box can be displayed on the original page in the animation form I just mentioned. As shown in the gif below.

Thanks!

@tsuiwade
Thanks for the details. OpenContainer actually uses PageRoute under the hood and hence you see it opening the content in new page. I think you can ask this question on StackOverflow to see if there are any solutions to make the page not open in new route.


Add material theme to paradox

I know #39 is still being worked on but since we have already paradox I thought we could put it to some use in the meantime? wdyt is it worth it?

Codecov Report

Merging #98 (7611150) into main (3637d52) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #98   +/-   ##
=======================================
  Coverage   96.44%   96.44%
=======================================
  Files           5        5
  Lines         676      676
  Branches       57       57
=======================================
  Hits          652      652
  Misses         24       24

Continue to review full report at Codecov.

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

seems pretty nice to me. Seems pretty easy to merge and change later.
That said, is the site being published?

Hi @johnynek, sorry for the late reply! It's not being pushed; I intend to make it so. Just wanted to see if this would be nice to have first. 😄
I'll update this later. Thanks!

Hi @johnynek took me longer than expected to follow up on this. Added a step to CI to make the site automatically published on release.

This is great! I personally think the win of using an all scala/sbt solution is worth it in terms of simplicity of the CI and build.

:tada: We use this on http4s-jdk-http-client, and I would love to see it spread.  The multi-version support is lacking, but other than that, it's a solid tool and an attractive, functional theme.  And no futzing with Jekyll or Hugo is a big win.

Related to #7


rapidgator.net

Match found in list.34.hosts.ubuntu101.co.za.domains:
rapidgator.net
www.rapidgator.net

@funilrys dis you missed this or you choose not to add?

@xxcriticxx No, I did not miss this one.
It's blocked by lists with big reputation than this repository, like for example the one maintained by Steven Black.
So I do not see why I should whitelist it.

you whitelisted openload.co which is same as rapidgator.net just another file locker

@xxcriticxx openload.co is not blocked by other lists with a big reputations :+1:

no problem thanks for you answer

@funilrys Steven Black might be a well respected and have a good reputation and I don't doub't it but I have seen that due to GeoIP rules some sites looks a bit different from couple places on the globe and there for some rules in a specific location might not be right for another.

Good point @elico and I know it. Checking if it's part of StevenBlack list and/or other big lists which are updated almost every day is just one thing between other I take into consideration. One of the other consideration I take is also, for example: I take the time to test the accessibility for many countries including mine which can forces website like #182 to be down or inaccessible in my country.
That's why if you use @pi-hole like @xxcriticxx you have the ability to whitelist yourself.
Also, I'm working on the next script review so that nobody can generate :+1:
Thanks for pointing out @elico and have a nice day/night.

@funilrys I didn't understood this:

Also, I'm working on the next script review so that nobody can generate 👍

next script? what script review?
@pi-hole looks pretty nice here: https://www.youtube.com/watch?v=J6_3RH4DK1A
I have seen DNSthingy since it's birth and depends on the tools you have you can choose your black and white listing methods.
Hosts file is good but if it's being queried I believe that a similar DNS service will provide the same effect more efficiently.
IE in a DNS service you can apply an "ALL .ubuntu.com" blacklist rule or the opposite which will depend on your policy DENY,ALLOW or ALLOW,DENY.
I already have the DNS server service a DB and all the coding but missing a nice WEBUI or cli tool like @pi-hole


Obey .gitignore from the CWD.

If I'm sitting at the root directory of my repo, which contains a .gitignore file, and I tell ag to do a search, starting with a subdirectory of my repo, I have found that the .gitignore file in my current directory is not loaded.
For example:
git clone foo
cd foo
##  foo contains a .gitignore file that says ignore  "baz"
ag  whatever  bar
##  If bar contains a file or directory named baz,  ag will still search it.

This is documented:

By default, ag will ignore files whose names match patterns in  .gitignore, .hgignore, or .ignore. These files can be anywhere in the directories  being searched.

Still, I would also like ag to search for a .gitignore in parent directories as I'm not always starting searches from the root directory.

Duplicate of #883


Orchestrator package doesn't have a helpful description and no readme

Describe the bug
Orchestrator package doesn't have a helpful description and no readme. Description should be clear as to why a developer should consider using the package - e.g. skill dispatch scenarios, multi-intent, etc.

View documentation takes you to: https://github.com/Microsoft/botbuilder-dotnet. Suggest it points at a readme.md file that leverages content from msdocs site and links to main docs. This is popped up modally once a package is installed so critical it highlights next steps (i.e. how to wire up recognizer).
These packages do a better job for reference

HelpAndCancel
Welcome
Graph
CallDialogs

Shiproom - lets fix this in a patch

Use Orchestrator root aka.ms: https://aka.ms/bf-orchestrator
@taicchoumsft  - can you update the package or tell me where this is specified?

Hi @scheyal , @daveta,
For dotnet, we need to modify the Microsoft.Bot.Builder.AI.Orchestrator.csproj file.

To modify the description, we need to change the description property
To modify the View Documentation link, we need to add the ProjectPackageUrl property (to override the default specified in Directory.build.props).
Fields marked in red:

For js, we need to modify the package.json file

To modify the description, add a "description" property to the package.json, and preferably also add a README.md file to this folder (README file takes precedence over description in Composer packagemanager)
To modify the View Documentation link, we need to modify the repository url in package.json
Fields marked in red:

Let me know how you want to proceed - I can make the changes if someone tells me what I should write into the description.

Update: Waiting for PR to go through.

@taicchoumsft - can you please update the files (I don't have a working build env). Looks like we only need the URL, the minimal descriptions are already there.
URL: https://aka.ms/bf-orchestrator-package-readme

(removed myself - please re-add if anything else is needed from me)


feat: exposing JSON and YAML spec endpoints in @scalar/fastify-api-reference, mimicking @fastify/swagger-ui

Problem
https://github.com/scalar/scalar/issues/3065
Solution

OpenAPI spec exposed on endpoints, just like how @fastify/swagger-ui does it, e.g. by default:

reference/json
reference/yaml

these endpoints are configurable
added relevant test cases
the download button in @scalar/fastify-api-reference now points to these URLs except when an URL is explicitly provided

Notes
Exposing the endpoints was trivial:

used @scalar/openapi-parser and its @scalar/openapi-parser/plugins/fetch-urls plugin to always have a spec no matter how it was provided (spec.content, spec.url, or fastify.swagger()) in both JSON and YAML formats
the endpoints are tested to make sure they are reliably there

However, making the download button work as I would find it intuitive - always pointing to the exposed endpoints, except when spec.url is passed in the config - brought up some stuff:

❌ ditched idea: first, in @scalar/fastify-api-reference, I simplified DownloadLink.vue and made the relevant changes to not have client side generation of the download at all

@scalar/fastify-api-reference would always pass down spec.url, pointing to the configured JSON endpoint
🎉 was super clean
but broke one test - "has the spec" in fastifyApiReference.test.ts

it didn't like that when spec.content was passed, I rewrote it to spec.url
unsure if this would be acceptable conceptually

plus, I realized this is beyond the scope of what I wanted and won't touch it without input from the maintainers

because other packages would have to change and expose the endpoints too
I am guessing these ones, but maybe more:

@scalar/api-reference-react
@scalar/express-api-reference

❌ ditched compromise: download button in DownloadLink.vue unaffected, just expose endpoints

I simply think this is annoying, I expect to be able to find the download URL from the button, when available, without scouring the documentation, just like I did when using @fastify/swagger-ui
and the button is already capable of this, so it felt like a waste to ignore it!

✅ chosen compromise: pass spec.url too to @scalar/fastify-api-reference, alongside spec.content

the test "has the spec" mentioned in idea 1/ does not fail
uses the existing logic of DownloadLink.vue: if it sees an URL, it switches to the <a href> link mode instead of the client side generation mode

🎉 the endpoint is now easily discoverable when using @scalar/fastify-api-reference!
🎉 using @scalar/api-reference in other wrappers with other backends, like React with Express, etc, is unaffected

⚠ however, I had to add one line to standalone.ts in @scalar/api-reference to use getSpecUrl() even when spec.content is detected

this feels a bit unclean, having both content and URL may not be semantically desirable? 🤷♂
but could not think of a way to avoid changing standalone.ts
and everything seems to work, tests pass, I did not find code relying on an assumption of only one of them existing

I didn't like 2/ at all, but 1/ felt out of scope for now, so I went with 3/ as a sensible compromise.
Please do chip in about this choice, I will change this if needed, but I would think eventually going for 1/ is the most desirable.
Always having an exposed endpoint by design, and pointing the download button to it in all cases would just be very clean, imo.
Feel free to reword the openApiSpecEndpoint config and the JSDoc of it in fastifyApiReference.ts. I thought about not making it configurable for simplicity, but I think it's better to grant that flexibility, right?
Also, this is my first PR for OSS, if I missed something do tell!
Enjoyed contributing, the repo was set up rather ergonomically :)
Cheers!

YAML version change and renames done.
Endpoints changed to:

reference/openapi.json
reference/openapi.yaml

Now passing URL to @scalar/fastify-api-reference, always:

change standalone.ts in @scalar/api-reference is reverted, no longer processing both .url and .content, just like before
relevant tests reworked, added a test to check whether the explicitly passed URL is respected and not getting replaced by the exposed endpoint URL

Misc:

fixed some eslint warnings

I think that's all the requested changes! 🎉

Best PR ever!
For some reason I can’t check out the PR, I think there’s something wrong on my machine. Once you/me/someone is able to fix the merge conflict, we’ll get this in ASAP.

Somehow the merge conflicted a completely safe change to pnpm-lock.yaml on origin, never seen this happen 😵💫
Resolved it, synced my PR to origin/main, good to go in theory 👍

No worries. Actually, I don’t know what’s going on exactly, but I just want this PR in and we can further improve it in a separate PR. 😁

It’s in! :) Should be released later today, let’s see.
Thanks for this great PR, huge help to improve the fastify integration! 🙏

Cheers! If it ever becomes a goal to abolish the client-generated downloads en bloc, or any issue opens around Vue / TS / Fastify, I'm open for hire 😁
Can't wait for the release, can finally fully ditch Swagger UI 🥳


added a meltano elt solid and unit tests

Added a solid for Meltano ELT runs. This better fits the use case where you don't know the elt command (or the env vars) at the time of code compilation. This is how I typically use meltano in my dagster environment. The configuration of my env variables var depending on the execution so I have to pass them in from upstream solids. I also added some unit tests for this and refactored naming conventions in order to provide clarity. But this can all be debated. I'm not strongly tied to my naming conventions.

Better method was discovered


Recall and Specificity values are the same

🐛 Bug
I'm using Recall and Specificity module metrics when training a binary classification model. The graphs in MLFlow are the exact same. Please see code below for how I'm using the module metrics. I'm pretty sure I'm doing it correctly because I'm following the torchmetrics doc as close as I can.
Code sample
def ModelMetrics:
    train_metrics=[
        AUROC(
            num_classes=out_features,
            average='weighted' if out_features > 2 else 'macro',
        ),
    ],
    valid_metrics=[
      AUROC(
          num_classes=out_features,
          average='weighted' if out_features > 2 else 'macro',
      ),
      Specificity(
          num_classes=out_features,
          average='weighted' if out_features > 2 else 'macro',
      ),
      Recall(
          num_classes=out_features,
          average='weighted' if out_features > 2 else 'macro',
      )
    ],
    self.train_metrics: MetricCollection = MetricCollection(train_metrics, prefix='train_')
    self.valid_metrics: MetricCollection = MetricCollection(valid_metrics, prefix='valid_')

def <phase>_step(...):
    if phase == 'train':
        head.train_metrics.update(preds, targets)
    elif phase == 'valid':
        head.valid_metrics.update(preds, targets)

def <phase>_epoch_end(...):
      for head in self.model.model_heads:
            # Use Metrics API
            if phase == 'train':
                for metric_name, metric in head.train_metrics.items():
                    self.log(f'{head.name}_{metric_name}', metric)
            elif phase == 'valid':
                for metric_name, metric in head.valid_metrics.items():
                    self.log(f'{head.name}_{metric_name}', metric)
     return

Expected behavior
Expecting Recall and Specificity to be different values.
Environment

TorchMetrics version (and how you installed TM, e.g. conda, pip, build from source): pip, 0.9.2
Python & PyTorch Version (e.g., 1.0): python 3.8.12, torch 1.12.0+cu116, pytorch-lightning 1.6.4
Any other relevant information such as OS (e.g., Linux): AWS EC2 p3.8xlarge on Deep Learning AMI

Additional context
If you guys want any other info please let me know. See below for MLFlow graphs.

can you actually give a few sample data (just raw tensor numbers that you think should produce different outputs?

Issue will be fixed by classification refactor: see this issue https://github.com/Lightning-AI/metrics/issues/1001 and this PR https://github.com/Lightning-AI/metrics/pull/1195 for all changes
Small recap: This issue describe that metric Recall and Specificity are all the same in the binary setting, which is wrong. The problem with the current implementation is that the metrics are calculated as average over the 0 and 1 class, which makes all the scores collapse into the same metric essentially.
Using the new binary_* versions of all the metrics:
from torchmetrics.functional import binary_recall, binary_specificity
import torch
preds = torch.rand(10)
target = torch.randint(0, 2, (10,))
binary_recall(preds, target)  # tensor(0.5000)
binary_specificity(preds, target)  # tensor(0.6250)

which also corresponds to what sklearn is giving. Sorry for the confusion that this have given rise to.
Issue will be closed when https://github.com/Lightning-AI/metrics/pull/1195 is merged.


Backup recovery not working

Thanks so much for this fantastic software which I have used for years.
I have recently migrated to a new server, and I am trying to restore from a backup.
When I click restore, I get "Backup Db Restore Error: undefined with status: Server Error - 500". In the log, I see "spark.http.matching.GeneralError".
Both systems are x86 Ubuntu. I also tried in a Docker container, with the same result. Am I doing something wrong?
Thank you very much.

nevermind.....I recovered by updating the device.db file using SCP.


Depend on libsqlite not sqlite

I recently split off squlite into two packages, one containings the command line application, that depends on readline, the other being the executable, that does not pull in readline at build time.
This helps export the correct package
https://github.com/conda-forge/sqlite-feedstock/pull/79 https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/3777

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Do we want to consider using sed to shorten the logs? I'm not sure how people manage to get the CIs to automatically replace certain strings.
https://github.com/conda-forge/qt-main-feedstock/pull/69/files#diff-d7075654874cb08007a21aaab3ecd4b3453a9087e7505d034d548b8938b599bcR158


[VS Code] An error occurred while sending the request.

Error:
An error occurred while sending the request.
Steps to Reproduce:

Version Data

extensionName
VSLS

extensionVersion
0.3.335

protocolVersion
2.2

applicationName
VSCode

applicationVersion
1.24.1

platformName
Linux

platformVersion
4.13.0-45-generic

@ptagrawal Thank you for reporting this error. Would you be able to provide more information about the issue? You can get your logs by running the "Live Share: Export Logs" command in VS Code. If you could attach them to this issue or email them to<EMAIL_ADDRESS>that would help us investigate it further.

Closing this due to inactivity.


Make improvements to the Users admin page

There are a few things that we should do to improve the admin user page to make it more understandable.

[ ] We should display the full name on the list page
[ ] We should move the users with is_indexer=True to a new tab under Users (probably called Indexers) that will hide them from the regular users list page
[ ] For indexers, we should display their full name instead of the fake email

We should display the full name on the list page

This is an easy "yes, let's do this"

We should move the users with is_indexer=True to a new tab under Users (probably called Indexers) that will hide them from the regular users list page

I know I was the one to suggest this, but I'm not 100% sure that this is the right thing to do. @annamorphism, do you have any feelings about this one? Should we check with Debra?

For indexers, we should display their full name instead of the fake email

If indexers are on a separate page, then yes; otherwise, I'm not sure that hiding the email address is the right choice. This one depends on point #2.

the remaining item in the checklist above feels complicated, and doesn't strike me as necessary. setting this to priority: low.


tree-wide: Add some updateScripts

Motivation for this change
Progress on https://github.com/NixOS/nixpkgs/issues/36150
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build libchamplain

Failure on x86_64-darwin (full log)
Partial log (click to expand)
Package ‘clutter-gtk-1.8.4’ in /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/development/libraries/clutter-gtk/default.nix:26 is not supported on ‘x86_64-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Success on aarch64-linux (full log)
Partial log (click to expand)
Removing /nix/store/amfbfqi0bixs9s59zzm21zm4smba8s2j-libchamplain-0.12.16/share/gtk-doc
rmdir: failed to remove '/nix/store/amfbfqi0bixs9s59zzm21zm4smba8s2j-libchamplain-0.12.16/share': Directory not empty
shrinking RPATHs of ELF executables and libraries in /nix/store/amfbfqi0bixs9s59zzm21zm4smba8s2j-libchamplain-0.12.16
shrinking /nix/store/amfbfqi0bixs9s59zzm21zm4smba8s2j-libchamplain-0.12.16/lib/libchamplain-gtk-0.12.so.0.10.0
shrinking /nix/store/amfbfqi0bixs9s59zzm21zm4smba8s2j-libchamplain-0.12.16/lib/libchamplain-0.12.so.0.10.0
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/amfbfqi0bixs9s59zzm21zm4smba8s2j-libchamplain-0.12.16/lib
patching script interpreter paths in /nix/store/amfbfqi0bixs9s59zzm21zm4smba8s2j-libchamplain-0.12.16
checking for references to /build in /nix/store/amfbfqi0bixs9s59zzm21zm4smba8s2j-libchamplain-0.12.16...
/nix/store/amfbfqi0bixs9s59zzm21zm4smba8s2j-libchamplain-0.12.16


Obsidian Boats Prevent Drowning

The obsidian boats sink to the bottom of an body of water, which is great, but if you get in the boat it resets your air bubbles. You could use the obsidian boat to stay underwater indefinitely.

This issue will be fixed in the next release.


style: standardise prettier config and add to pre-commit commit hook

Introduction
Prettier is an opinionated code formatter that can help keep a consistent code formatting style in the project. It has been part implemented in the project but there are the following issues:

The prettier package and config have been added in the root project, but some individual sub-projects (external-api and portal-api) have their own version of prettier and config added. This may lead to inconsistencies if the versions and config diverge
Sometimes running prettier on files results in conflicts with the existing eslint config, so prettier changes need to be reversed
Running of prettier is not enforced in any way (either with commit hooks or CI) so there is no prompt to the dev that a file has not been formatted

Resolution

Remove the prettier package and config from sub-projects so that formatting across the entire codebase will be based on the root directory prettier installation and config. Updated the README to clarify this point.
Added eslint-config-prettier package to all projects - this resolves any conflicts between eslint and prettier so we can ensure that prettier can always be run
Added running of prettier to the commit hook so that this is always run on staged files even if the dev hasn't run the formatter manually
Moved the running of lint-staged to a "pre-commit" hook.  Previously you would add a commit, then need to add a separate one with any eslint or prettier changes

Codecov Report
Attention: 123 lines in your changes are missing coverage. Please review.

Comparison is base (2390d16) 21.01% compared to head (b7cdcfc) 8.92%.
Report is 114 commits behind head on main.

Files
Patch %
Lines

.../controllers/portal/deal/update-deal.controller.js
0.00%
33 Missing and 13 partials :warning:

.../facility/create-multiple-facilities.controller.js
0.00%
26 Missing and 3 partials :warning:

...trollers/portal/gef-deal/update-deal.controller.js
0.00%
14 Missing and 3 partials :warning:

...rs/tfm/amendments/tfm-get-amendments.controller.js
0.00%
10 Missing :warning:

...s/portal/gef-deal/add-min-activities.controller.js
0.00%
7 Missing and 1 partial :warning:

...controllers/tfm/deal/tfm-update-deal.controller.js
0.00%
6 Missing and 1 partial :warning:

dtfs-central-api/src/helpers/index.js
0.00%
1 Missing :warning:

...c/v1/controllers/cron-jobs/cron-jobs.controller.js
0.00%
1 Missing :warning:

.../durable-functions/durable-functions.controller.js
0.00%
1 Missing :warning:

.../v1/controllers/portal/deal/get-deal.controller.js
0.00%
0 Missing and 1 partial :warning:

... and 2 more

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #2316       +/-   ##
==========================================
- Coverage   21.01%   8.92%   -12.10%
==========================================
  Files        1030     868      -162
  Lines       25229   20459     -4770
  Branches     4081    3133      -948
==========================================
- Hits         5303    1825     -3478
+ Misses      17370   16334     -1036
+ Partials     2556    2300      -256

Flag
Coverage Δ

ui-test
39.99% <ø> (-24.82%)
:arrow_down:

unit-test
3.78% <4.65%> (+3.06%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Looks good! Very happy we're standardising this finally. Is there any way to automatically update all the existing files to match the lint as part of this PR so that future PRs don't have excessive file updates which fix existing linting errors? Also, is there any way that we can enforce the .eslintrc.js files across directories being the same so that people don't change them by accident?

@JoshBinns2000
Note that these changes are primarily focussed on prettier formatting, rather than the full scope of what eslint analyses. While prettier focusses only on formatting, eslint has a wider set of concerns including logic errors, best practices, and formatting. It's because eslint also includes formatting that I added the eslint-config-prettier package to prevent conflicts between eslint and prettier. Note that there are plans to remove all formatting rules in future eslint releases to prevent these kinds of conflicts in future (see here for details).
As part of these changes I could have also run prettier across the whole project to get everything in line, but this would have touched thousands of files and would have caused merge conflict nightmares for everyone currently working on feature branches. We might make the call to do this at some point and take the hit, but we thought best to hold off for now.
With prettier now added to the pre-commit commit hook, this will only affect files that have been changed as part of your commit, so we will be incrementally getting everything in line.
Happy to have a call if you want to discuss any of this further - let me know.


service: Fix wrong localEndpoints count in HealthCheckNodePort

This fixes an issue with the HealthCheckNodePort server where it
would non-deterministically sometimes return a non-zero
localEndpoints count on nodes which do not have local endpoints.
Because Cilium internally creates a service object per frontend IP, we
end up with multiple services sharing the same name. In the case where
a LoadBalancer service has externalTrafficPolicy=Local with no
local backends, Cilium will still create a ClusterIP sibling service
which retains the non-local backends. In that case, we must take care
to not incooperate the ClusterIP backends into the localEndpoints
count intended for external traffic. The final count is dependent on
the order in which services are added to the service manager, which
explains why the occurence of this bug was non-deterministic.
This commit fixes this issue by checking that the service may only
contain local backends before its count is added to the
HealthCheckNodePort server. The unit tests are adapated as well and
try to emulate the way the K8s watcher upserts services in the service
manager.
Fixes: #11043
Signed-off-by: Sebastian Wicki<EMAIL_ADDRESS>

test-me-please

Coverage decreased (-0.0004%) to 36.916% when pulling e699b5e53acf03968df4bfe0db8954de367a8a47 on pr/gandro/fix-healthchecknodeport-invalid-count into bdf98cbf7619db3c1a2a12d183c783462f3f5e65 on master.

I attempted to backport this PR, but ran into non-trivial conflicts. It seems like it depends on https://github.com/cilium/cilium/pull/11085. Even though this PR was cherry-picked cleanly (except for the nodeTypes package import), it depends on a different function signature for:
m.svc.UpsertService


I have some questions about the new pattern scanning

Is 488935${'} 4885f6 equivalent to 48 89 35 ? 48 85 F6?
If yes, then what is the ${} symbol supposed to mean? Because I'm using C++ now, but I don't know how to represent an arbitrary number of unknown bytes in std::string type
I would be very grateful if you could answer my questions 😉

https://docs.rs/pelite/latest/pelite/pattern/index.html https://docs.rs/pelite/latest/pelite/pattern/fn.parse.html

thanks, I will try to learn and understand


How to change the icon date picker? Thanks

This icon is SVGGlyph (JFoenix component), you can change it using the following css:
#arrow-button .jfx-svg-glyph{
	-fx-shape: "M512 854q124 0 211-88t87-212-87-211-211-87-211 87-87 211 87 212 211 88zM512 170q160 0 272 113t112 271-112 271-272 113-272-113-112-271 112-271 272-113zM534 342v224l170 100-32 52-202-120v-256h64zM336 144l-196 164-54-64 196-164zM938 244l-54 66-196-166 54-64z";
}

please note:

-fx-shape property takes the svg path content as its input
the previous css will change the icon everywhere in your application, you might want to add a css class selector before it e.g (.my-date-picker #arrow-button .jfx-svg-glyph) in order to specify the change for a certain control.

Is there any way to change it using a png?


Added translation for "React without JSX" section

Fix after broken pull requests

Sorry, I accidently broke some of the pull request so I had to reopen them.

@klymenkoo @ApolllonDev Waiting for merge in master 😃

@Kurzdor add @ApolllonDev's suggestion.

@Kurzdor add @ApolllonDev's suggestion.

It was already fixed or I something don't understand. 🤓

@Kurzdor, this one:

You marked it resolved, but it wasn't fixed :D

@klymenkoo @ApolllonDev Done.

@Kurzdor changes look good 👍 thank you!


Enable SSM access and disable SSH access.

Remove SSH keyname parameter and cleaned up a bunch of stuff.
Add minimal iam permissions to use SSM based access. Not using the AmazonSSMManagedInstanceCore as that will grant additional permission that are undesirable(ssm:GetParameter to * for example)

This will hopefully resolve #620

Hi @xiaket, I guess we also need to have the ssm-agent running on the nodes, don't we?
    yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
    systemctl start amazon-ssm-agent
    systemctl enable amazon-ssm-agent

Yes, but there's a way to do this more easily with the packer build: https://www.packer.io/docs/builders/amazon/instance#session-manager-connections
This will build the AMI with teh agent already installed.

@ecktom Thanks Thomas! Am I right to believe that the ssm agent is included in Amazon Linux 2?

@xiaket you're right, my bad. I got confused by the Amazon EKS optimized AMIs which are build on top of Amazon Linux 2 but do not include the ssm-agent by default ;)

Nice contribution! We've been using ssm to access the buildkite ec2 instances successfully as well.
For the uninitiated, it's been as simple as this.
brew cask install session-manager-plugin

aws ssm start-session --target i-aaabbbcccddd


Compilation fail on avr-gcc 12.2.2 MacOS

I meant to say ARM-gcc  course :)
(base) admin@admins-Mac-mini step-0-minimal % make
arm-none-eabi-gcc main.c  -W -Wall -Wextra -Werror -Wundef -Wshadow -Wdouble-promotion -Wformat-truncation -fno-common -Wconversion -g3 -Os -ffunction-sections -fdata-sections -I. -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16  -Tlink.ld -nostartfiles -nostdlib --specs nano.specs -lc -lgcc -Wl,--gc-sections -Wl,-Map=firmware.elf.map -o firmware.elf
/opt/local/lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld: cannot find -lc_nano: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [firmware.elf] Error 1
Plz. advise, thanks!

@RandoSY thank you. I've added a Github Action tests on Macos, see https://github.com/cpq/bare-metal-programming-guide/actions - and tests succeed, so search for a problem in your environment / setup. Maybe reinstall ARM GCC? Or delete it and install directly from https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads ?


Bootstrap 4 Modals: data-dismiss="modal" won't work if fade is present

I'm migrating a Bootstrap 3 app to Bootstrap 4 and noticed that the close button does not work anymore. After some googling, I found this answer on Stackoverflow where someone noted it would work if you remove the fade on the modal:
https://stackoverflow.com/questions/38537651/bootstrap-close-modal-not-working
And in fact, this is true. As soon as I remove fade, the close buttons works again. Alas, I'd like to keep the nice fade in effect, so I am wondering how both could be combined again?
My guess is that Bootstrap 4 changed the way the event hooks are setup. In my case, the modal content is rendered dynamically, depending on the actual dialog content I need. This includes the close button.

can you provide an example of this, I don't seem to have an issue.

I have checked the https://getbootstrap.com/ and the model based on version 4.3. from a sample which were taken from this link https://getbootstrap.com/docs/4.0/components/modal/
I did a fiddle on this link [https://jsfiddle.net/alanmehio/outv8gfb/1/] and I have realized it is working and there is no issue with  class="modal fade"

I have the same issue.
This is an example with the issue https://jsfiddle.net/fL2vox8d/
It seems like the class modal-dialog is necessary.

@VincentLanglet if you aren't using the documented markup it's not a bug.
https://getbootstrap.com/docs/4.4/components/modal/#modal-components

I would still say that the complete markup for a modal should be used instead of these custom instances where that are being created.

It's still weird that modal-dialog is not mandatory without fade.
And a link to the bootstrap 4 isn't helping.
When you try to migrate from bootstrap 3 to bootstrap 4, you can't rewrite all your code, so you're looking for the minimal necessary changes.

Closing this as a v3 to v4 migration issue. The two are not compatible, so make sure you replace the HTML, CSS, and JS entirely during your migration.


Testnet 130 candidate

Motivation
Candidate build for next testnet
Changes

improved contextual logging

bors try

bors try

Is this release be compatible w TN 29 or requires a new network?

Is this release be compatible w TN 29 or requires a new network?

So far, it's compatible. But the next testnet will likely include #2411 which would make it incompatible.

bors try

bors try

This has been live in tn130 for a while, merging


MAINT: Use logger instead of printing in loader.py

Makes it easier to filter logs when they're not desired.

This looks like:

[2015-04-13 05:11:58.537668] INFO: Loader: No cache found at /home/ssanderson/.zipline/data/^GSPC_benchmark.csv. Downloading benchmark data for '^GSPC'.
[2015-04-13 05:12:01.016088] INFO: Loader: No cache found at /home/ssanderson/.zipline/data/treasury_curves.csv. Downloading treasury data from data.treasury.gov.

Scott said I should post something

Looks straight ahead to me. /signoff


The File Scanner is too slow to scan  this map!

When i use File Scanner to this map it takes so long time , after 20 mins i cancel scanning just takes about 200 files. Is there any solution for this?.(This map use the another file .mix to help seeing the models in game  of the map when you put it in the war3 folder )
Map:
https://drive.google.com/file/d/12S5lbqSD54akhqPgdCPyvxH25U68Tx75/view?usp=sharing
Mix File:
https://drive.google.com/file/d/1QI38LWOO_hmCN_oeRxb5_eVyxQqAUyjQ/view?usp=sharing

Try the live scanner. This will catch file names as they come to the game, in plain text. However, you need to use Warcraft III version 1.27a, there's no support for newer versions.

.I used the Live Game Scanner but it can only get a few files because the new models will appear at certain times due to the operation of the map. I want to rebuild this map .

This map contains the same type of protection as old Saint Seya map, if I reckon it has to do with JAPI of YDWE, and technically can be removed with YDWE.
The map is opened very slowly, due to very huge fake files.
Adding a scanned listfile with files from both map and patch here, you can use it as you want.
NRDListFile.txt

This map contains the same type of protection as old Saint Seya map, if I reckon it has to do with JAPI of YDWE, and technically can be removed with YDWE.
The map is opened very slowly, due to very huge fake files.
Adding a scanned listfile with files from both map and patch here, you can use it as you want.
NRDListFile.txt

Is There any guide about this protection to help me make a listfile myself ?

Unryze ,Can you tell me how to remove japi by YDWE ?

Download YDWE, open map with it and save it as a regular map, that's at least how people who removed JAPI said it is done.

About Fake Files, Is it only one way that use File Name Scanner and wait for listfiles ?

How can you get about 99% listfiles of the map?. There are still many unscanned files when I use Name Scanning also Live Game Scanning.


Background Audio capability in video player

Use case
Playing media when app is in background

Proposal
Please look into how https://pub.dev/packages/flutter_vlc_player could able to do it

In case it helps, I created a proof-of concept of a background video player back in August 2019 as a very simple fork of an old version of video_player.
Note that there is already a plugin called audio_service which does all of the heavy lifting for allowing audio to play in the background. The basic idea is that audio_service wraps around any audio code allowing it to run in the background, and sets up the appropriate platform specific background remote controls. For example, on iOS, it links media control buttons to the Control Center, and on Android, it provides a service with a media notification. On both platforms, it also links to the lock screen, headset buttons, and even smart watches and cars (CarPlay/Android Auto). The key is that audio_service is media agnostic. It does not care what audio your app plays, it just provides your app with a container for background execution and provides callbacks to handle when the user presses remote media controls. Your app could be a video player, an audio player, a text-to-speech reader, or even some combination of those. (e.g. a text-to-speech reader that plays a chime in between articles, or a fitness trainer that operates in the background and similarly communicates to you through a combination of text-to-speech and sound files).
The audio service that enables background audio should also exist at a higher scope than the individual "player" plugins, because there are applications where you need to be able to include multiple audio/media plugins under the same audio session and be tied to the same audio service. If every plugin hard codes and builds in its own audio service, these will actually clash with each other and make it impossible for app developers to mix and match different audio/media plugins within the same app (I'll give an example at the end). I think we could agree that our plugin ecosystem would look better if plugins were able to be mixed together in the same app.
So with all of what audio_service does, it makes sense to just reuse that. As such, very minor changes needed to be made to the video_player plugin itself to allow the surface texture to be released and detached from the player when entering background mode, and to then be able to reattach it to the player when entering foreground mode.
The reason it never went beyond a proof-of concept was because the person who originally commissioned me to create it for him didn't need it anymore, and my time was already stretched maintaining the audio_service, just_audio and audio_session plugins.
Note that just_audio takes the same approach. It does not itself build all of the heavyweight background code directly into the plugin, but simply focuses on a single responsibility so as to make it easier to cooperate with other plugins. audio_service can then be wrapped around all of the app's media plugins to allow them to run in the background.
As for an example of the type of ecosystem conflict that we want to avoid, right now, flutter_sound contains an excellent audio recorder component. But it also contains an audio player in the same plugin, and more than that, the audio player also contains its own Android service, and a broadcast receiver to intercept headset button presses. What this means is that it is impossible to use the recorder from flutter_sound in the same app as another plugin that also needs to create those same resources, as they will conflict. If video_player goes down that route, then it would be impossible to use video_player and flutter_sound's audio recorder in the same app. It's an unfortunate situation that we can't use an excellent plugin, but if the recorder, the player and the service were separate packages, app developers could then mix and match their favourite plugins in each category without running into potential conflicts between plugins that have overlapping responsibilities.
Anyway, although I definitely would not have time to maintain a background video player, I will try to dig up my old code from 2019 in case it helps someone else to create a pull request and get this officially included into video_player.

I was able to dig up my old Android code from 2019. As mentioned, only minor changes are needed in video_player. Specifically, to release and detach the surface texture when entering background mode, and then to re-attach a surface when re-entering foreground mode.
Here is that code (for Android):
    private void enterBackground() {
      System.out.println("enterBackground. setVideoSurface: null");
      exoPlayer.setVideoSurface(null);
      textureEntry.release();
      surface.release();
      eventChannel.setStreamHandler(null);
      eventSink.setDelegate(null);
    }

    private void enterForeground(EventChannel eventChannel, TextureRegistry.SurfaceTextureEntry textureEntry) {
      this.textureEntry = textureEntry;
      this.eventChannel = eventChannel;
      surface = new Surface(textureEntry.surfaceTexture());
      System.out.println("enterForeground. setVideoSurface again: " + surface);
      exoPlayer.setVideoSurface(surface);
      eventChannel.setStreamHandler(
          new EventChannel.StreamHandler() {
            @Override
            public void onListen(Object o, EventChannel.EventSink sink) {
              System.out.println("enterForeground. onListen. setDelegate: " + sink);
              eventSink.setDelegate(sink);
            }

            @Override
            public void onCancel(Object o) {
              eventSink.setDelegate(null);
            }
          });
      sendInitialized(true);
    }

Hopefully this helps someone else who is interested to try to get this working in the current version of video_player.

@ryanheise could you please clarify what issue do these changes fix?

Yes, I did get it working pretty much exactly like the premium version of the YouTube app. But it was a long time ago and I lost the demo app and only found the modifications I made to the video_player plugin.
The above code just allows you to release the surface (view) when the app goes into the background and then recreate and reattach the surface when entering the foreground. I don't guarantee that that code is still relevant today since both video_player and audio_service have changed since then.
But that code above takes care of the video_player portion of the solution. In addition to that, audio_service adds the media notification and requests permission from the OS to continue playing audio in the background.
I do wonder now with the latest version of audio_service (the beta release) whether the above code is actually still needed anymore. In the old audio_service, the main activity could be destroyed along with the FlutterEngine containing the video player surface. But now in the new beta release it retains the FlutterEngine and converts it into background mode. I'm not sure exactly what video_player does with the surface when the Android activity is paused/stopped/destroyed but the FlutterEngine is still active....

@ryanheise I was able to run videoplayer in BackgroundAudioTask (without AppLifecycleHandler which stops playback on pause) and it works almost fine. With some issues which are not related I think to  these changes. And still I'm not able to figure out how to show video on ui side, only audio playback is implemented. I will try to implement the same with prerelease version and give you feedback. When are you going to release 0.18.0? I am actively developing background video playback feature, so maybe I will contribute to audio_service a bit.

I can't give you a date on 0.18.0 stable, but I consider the beta to be fairly stable at this point, and people are using it in production. Certainly development has stopped on the 0.17.x release.
If you are interested in working together on the video player use case I would be more than happy to collaborate.

@ryanheise 0.18.0 has much simplier api, I've made prototype already. Basic functional works. I will contribute example if I have enough time after implementing the feature.

Good to hear :+1: I suspected as much since the activity and the FlutterEngine are never destroyed in the beta. That said, it doesn't sound ideal if video_player wastes battery continuing to render to the surface while in background mode. I don't know if perhaps there are some lower level optimisations within ExoPlayer that prevent that from happening.

Hi @IlyaMax, I'm actually looking to implement the same with video_player and audio_service. Since this discussion happened a while ago, may you provide some insight if you managed to do it right (maybe some piece of code if available) Thanks!

@cmalex23 you can check this implementation https://github.com/ryanheise/audio_service/pull/803. that's not an ideal and anyway you will have to finish this for your needs.

Is there a schedule when and if the issue will be solved?
Our customer wants to play the sound of the video in the background this is perfectly solved in android but not in iOS.

Any update for this issue? I'm facing the same issue when move app to background and play with foreground

I would also appreciate any update as I am having a hard time with audio pausing when app goes to background on iOS as I already mentioned in the comment on https://github.com/ryanheise/audio_service/pull/803. Here is my stack overflow post related to this exact issue with a little bit more details: https://stackoverflow.com/questions/78530237/how-to-prevent-video-player-from-pausing-when-app-goes-to-background-on-ios

Could someone help with this issue? I'm facing the same problem. The video player gets paused when the app switches to the background on iOS.


Failed to enroll admin user: admin TypeError: FileSystemWallet is not a constructor

When I ran enrollAdmin.js using node from web-app/server it gives me an error: Failed to enroll admin user: admin TypeError: FileSystemWallet is not a constructor.

Have had the same issue for the past few days, issue is present on Windows and Linux machine,  will update with logs in the morning

Was user error. permissions should be left on default (I did chmod -R 777 on the whole folder).


Fix the project names in Antenna reports

Please have a look at the individual commit messages for the details.

/cc @bs-ondem


Remove tuples

I'm working on removing all tuples from the code and replacing them with data classes. This makes the code much more readable and concise.
Motivation: I'm working on integrating flutter_quill's history system with my own (https://github.com/adil192/saber/issues/463), and having to type out Tuple3<Delta, Delta, ChangeSource> everywhere is tiresome and using e.g. .item1 is hard to read.

https://github.com/singerdmx/flutter-quill/blob/a864e29ba115209e602003e8b92990a6d46bde2f/lib/src/models/documents/history.dart#L88-L111
Please can you help me understand what this Tuple2 contains?

Also now would be the perfect time to downgrade i18n_extension following https://github.com/singerdmx/flutter-quill/pull/1107#issuecomment-1465115838 (if you agree with the suggestion) since we already have a breaking change

Thanks
Is it ready to merge?

Downgrade is fine

Ready to merge!

This will also close

#1116

Do you know what is len? we need to document everything
does it stands for length? length of the document or something? it's not very clear

Do you know what is len? we need to document everything does it stands for length? length of the document or something? it's not very clear

You're best off asking @singerdmx since I haven't modified this code:
https://github.com/singerdmx/flutter-quill/blob/8884aa9f7aff2e658ec678c3c3dfa27280b3aadd/lib/src/models/documents/history.dart#L93-L110
It looks like the number of characters that were inserted (positive) or deleted (negative) in the last history change, but I'm unfamiliar with the code


raftstore: reply to stale peer with tombstone message everytime

Signed-off-by: gengliqi<EMAIL_ADDRESS>
What problem does this PR solve?
Problem Summary:
If a leader receives the message from a stale peer(follower or learner), it may not reply to this peer a tombstone msg which may cause a stale region can not be destroyed for a long time.
Also, https://github.com/tikv/tikv/issues/10341 the problem described here can be alleviated.
What is changed and how it works?
What's Changed:
Since the number of msg from stale peers should be small, this PR totally removes the condition of whether to send tombstone msg or not.
Related changes

Need to cherry-pick to the release branch

Check List
Tests

Integration test

Side effects

No

Release note
None

/cc @solotzg

lgtm

/rebuild

I don't think it's a good idea. If a peer is not isolated, it should remove it self in the end by applying logs.

Which could take minutes, and even longer for the learner.

How? The PR only checks epoch, so even MsgAppendResponse can also trigger self-destruction.

...when it can't destroy itself by applying logs.

How? The PR only checks epoch, so even MsgAppendResponse can also trigger self-destruction.

The leader won't send any msg to a removed peer. So in this case, the peer can only destroy itself if it has the confchange log and knows the log is committed. And when it receives a gc msg, it will send msg to destroy the apply fsm first, so the committed confchange log (if any) will be applied before destroy.

The leader won't send any msg to a removed peer. So in this case, the peer can only destroy itself if it has the confchange log and knows the log is committed. And when it receives a gc msg, it will send msg to destroy the apply fsm first, so the committed confchange log (if any) will be applied before destroy.

For example, leader sends two messages to follower, the first one is MsgAppend with latest logs and commit index, the second one is gc message and follower handles two messages during a ready. So it will not wait applying entries, instead remove it self directly.

For example, leader sends two messages to follower, the first one is MsgAppend with latest logs and commit index, the second one is gc message and follower handles two messages during a ready. So it will not wait applying entries, instead remove it self directly.

It seems to be a rare case that the raft msg (carry the commitment of the confchange) and the gc msg are handled in the same Ready, and I think it is totally valid to destroy a peer by gc msg even the peer is not isolated, since we already allow to doing so.

...since we already allow to doing so.

This only happens after some time, and follower is unlikely to catch up logs.
I suggest to only handle non-response message instead.

This only happens after some time, and follower is unlikely to catch up logs.

This could happen as long as the leader applies the confchange log before the follower's MsgAppendResponse of the confchangearrived. And in cases I encountered there is no network isolation.

For example, leader sends two messages to follower, the first one is MsgAppend with latest logs and commit index, the second one is gc message and follower handles two messages during a ready. So it will not wait applying entries, instead remove it self directly.

It seems to be a rare case that the raft msg (carry the commitment of the confchange) and the gc msg are handled in the same Ready, and I think it is totally valid to destroy a peer by gc msg even the peer is not isolated (and has the confchange log), since we already allow to doing so.

I agree it's a rare case. If leader has applied the conf change log, it won't send any append msg to this removed peer. Only after that, leader will send a tombstone msg to this removed peer when receiving any msg from this peer. In other words, the peer can not catch up when receiving tombstone msg.
If we want to try our best to make peer removed after applying conf change, it's better to make the peer apply all the committed raft log before removing rather than not sending tombstone msg in some cases on leader side.

...it's better to make the peer apply all the committed raft log before removing...

This looks good to me too.

...it's better to make the peer apply all the committed raft log before removing...

This looks good to me too.

Besides the abovementioned case (assume msg arrive in order), the peer will apply all known committed logs before destroy. And for that case, while handling gc msg, I think we can get a Ready and send the committed log to apply worker first and then send another msg to destroy apply fsm.

Or we can handle the gc msg on the next round, so all know committed logs will be handled and apply before the gc msg remove destroy the ApplyFsm and PeerFsm. We can do it by keeping the gc msg in poll_ctx and resend the msg at PollHandler::end (also add some flag to distinguish the gc msg that can handle without delay).

Or we can handle the gc msg on the next round, so all known committed logs will be handled and applied before the gc msg destroy the ApplyFsm and PeerFsm. We can do it by keeping the gc msg in poll_ctx and resend the msg at PollHandler::end (also add some flag to distinguish the gc msg that can be handled without delay).
I make a small change that is similar to this method.
Add a new PeerMsg::Destroy and send it after handling tombstone msg. Thus we can ensure the committed entries are applied as many as possible.

/merge

/merge

/run-integration-br-test

/run-cherry-picker

/run-cherry-picker


Migrate to Python3

Currently Swift 5.2 is in use. It is better to migrate to Python3.

For maintainability reasons, I don't disagree, but it would be a herculean effort.