[Navigator] don't render twice for every navigation

fixes #952
cc @hedgerwang @ericvicenti @ide

This will fix that bug, but it will also prevent the current scene from getting re-rendered when the Navigator gets re-rendered. Is that the intention? I'm concerned because people probably rely on that behavior to some extent

Yes. I think it is reasonable to not rely on navigator to re-render the current scene. isn't it?
Now that i think about it, is there a case where you would want navigator to re-render the current scene? I would listen to store change and re-render based on the state.

So you'd get the same old copy of rendered scene even when this.state.presentedIndex had changed.
Some people may rely on using the the index to determined whether a scene is active or not and this change will break that.
If the scene can be expensive to render, the scene itself should use PureRenderMixin to protect itself from being overly rendered by the navigator.

this.sate.presentedIndex is private so that shouldn't break anything ideally. I maybe wrong.
But i think replace will break where you would want to re-render the current scene?
Happy to close this.

I think the consensus here is that we should leave this behaviour as-is for now. Navigator is being worked on internally at fb right now so let's see how that shakes out and then maybe revisit this later on @chirag04

:+1:

@chirag04 I'm using react-native 0.13.2. I'm still facing the issue everything gets called for each element in routestack, my navigation bar get's rendered for all route in routes and so takes the properties of the first route. Did you solve the issue?

I see this issue with CameraRollView and Navigator. If you click an image and navigate to a new view, the roll is re-rendered, and again if you go back to the roll, which is not nice to look at for CameraRoll
The pending commit https://github.com/chirag04/react-native/commit/31e2f40380190fe02558c0862451b3ba2dc8a180 by @chirag04 fixes the problem for me and makes transitions in general smoother
An option to disable re-render of an existing scene would be good. I don't expect the current scene to rerender as it moves to the next.

@adriansprod There are side effects to that commit of mine. navigator replace will not work i guess.
Adding shouldComponentUpdate is the best way to avoid re-rendering your component.

I'm having similar issues where the extra renderScene call slows down the animation to the point of being unusable, even though I first render an empty placeholder screen on the new scene.
I've tried doing something like this in my renderScene:
   if (this._prevRouteID === route.__navigatorRouteID) {       return null;     }
However, that breaks the pop functionality of the Navigator, causing the scene I'm popping to to be mounted again. It's a scene that contains a ListView and I want to be able to navigate away from the scene and back again to the same position as one would do on e.g. the Facebook app. @chirag04 commit solves this.
Additionally I need to be able to update the parent component to the Navigator to be able to change the navigationBar background color. @chirag04 commit also allows me to do that without causing an extra sceneRender (not even sure why). There's probably a way around this though.
So to sum up, for smooth animation and pop functionality that preserves the previous route state (and as a bonus not having to keep track of when what should render) I think chirag04@31e2f40 get's the job done. Would be awesome if the side effects were fixed and the PR accepted.

@ericvicenti @hedgerwang seems like a lot of people are running into this. Not re-rendering the previous scene on every transition would be awesome.
Wondering if i can do anything to still get this merged without the side-effects of breaking replace and any other.

I'm running into this on RN 0.20.0. I'm seeing the previous and the current route get passed to renderScene on every Navigator.push which is surprising and undocumented behavior. We should document renderScene is called twice if that is expected
@chirag04 For the suggested shouldComponentUpdate solution, are you suggesting a check of current pushed route == last of navigator.getCurrentRoutes()?

Should be described in documentation I think.

We should remove twice-calling and bump the version as breaking change.

i am also facing the same issue with RN 0.41.2.
navigator.push() is causing renderScene() being called twice.
is there any solution to this ?


2.11.7 broken markdown codeblock process

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
broken by:

Additional context

this is fixed in v2.11.9


Blocked scraper: opinions.united_states.state.oklaag

scrapers work on my machine but not in production
********!! CRAWLER DOWN !!***********
*****scrape_court method failed!*****
********!! ACTION NEEDED !!**********
Traceback (most recent call last):
File "/var/www/courtlistener/cl/scrapers/management/commands/cl_scrape_opinions.py", line 324, in handle
self.parse_and_scrape_site(mod, options['full_crawl'])
File "/var/www/courtlistener/cl/scrapers/management/commands/cl_scrape_opinions.py", line 290, in parse_and_scrape_site
self.scrape_court(site, full_crawl)
File "/var/www/courtlistener/cl/scrapers/management/commands/cl_scrape_opinions.py", line 223, in scrape_court
content = site.cleanup_content(r.content)
File "/var/www/.virtualenvs/courtlistener/local/lib/python2.7/site-packages/juriscraper/opinions/united_states/state/oklaag.py", line 36, in cleanup_content
core_element = tree.xpath('//div[contains(concat(" ", normalize-space(@class), " "), " main ")]')[0]
IndexError: list index out of range

The main element is not being found on the landing page.  In short, a different page is being provided to our production scraper than the page provided to the scraper when running on my machine.  I'm guessing the website is blocking us and returning some error page instead (without returning proper 404).
Need to call the court.

For this, and #261, do you think you could provide me with some curl commands to run on the server as tests. That is supremely helpful.

Just curl the urls throwing the 403 in the courtlistener errors?
[sent from a phone]
On Tue, May 14, 2019 at 9:56 AM, Mike Lissner<EMAIL_ADDRESS>wrote:

For this, and #261, do you think you could provide me with some curl commands to run on the server as tests. That is supremely helpful.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: Pmcrypto Golang 0.0.1 (ddacebe0)
Comment: https://protonmail.com

xsBNBFbzO7YBCADGzq8Iw0brBGgIZajm2CpZndKCsb20AwHcFEqVxDfOH93ivf0b
RJL2BHrZANUqi1L6vGrd4HmF7leA4eAyuexpMLjV8vRmlaKm4jMs9xY1VDDyCqbU
09UDxcMQ91Q5kKmz537DYmaR11gsUwFJrgFCso/fbt8HTXqpn6xklj6Lp27ehNp6
fezgKGI0VzEPSsZYN+1lD2RgrAQ1kdxBJRQUfvL+OvAi0UyM9Vkw+Afr9XlzVnEM
xjWhAg/lrY8DIYFkpULmNBKaQcQxpRQ7/c1xHIgId3uUnyTAGsRiIcSrypEtNcBt
EouwXZO1uEZmXBeVKhzz1mGsH+SKMGIoMuMdABEBAAHNL2FyZGVyeXBAcHJvdG9u
bWFpbC5jb20gPGFyZGVyeXBAcHJvdG9ubWFpbC5jb20+wsB1BBABCAApBQJY4B4s
BgsJBwgDAgkQ0/rhfw45OSAEFQgKAgMWAgECGQECGwMCHgEAALvkCACpjDFIJxUG
qqW9gJSz/PJtJogVdNLLUpkqwmnhOodfpKBaQL0WWf1iCm4wYsg5+/3Ah5Ab4rae
gSAhsy7/vSinW4Jqvu/8wPgrvDJVC1nH+wTPV2sd/AgWjUKtw0TvFyagBchLy0N+
rdJBo8zZSbAq9vpYbZDXFMksN96oPGCapd73TLv7+lX9NRc1LoQOpyZyGQPeyp6a
NWb2GEuv+u6Sm/b/fGeX0qfQQXcZli2Cqa/cmvRZ3jHlVfzIE+hCZyCtFlB8Vo/0
PAFNCEL+yMK4jBWpuJWPAFTlRPkZxuuEroNWGDxLZ1fz7CdZIgBpl9ZhUfhKrA2A
RoZdGB5q2snEzsBNBFbzO7YBCADKTtMWGfV4di5fz94qQFUG/CUfrxGkUuHmp8Cq
w/OU394cYgSEBPu0gdH02xrD3td1vmMOWlwpMeZMkOlHN1/UHslc7igzgTUfhCcR
5VMKvPFmWzC0W6M3vY7jGrSjMnPjf4L1FlBJ44aaKZwu1uos75yj8jbPblTAx9LF
hqlhXOTZuVtmrnxAJqS0tux2Eg7l4jNUZWMVVQ+411y3WMy6L6WDPnyhC2GScyG8
irzvQN5kGCcQPOMh4FvKcAmTjAAFnGPc6yAVe2NwgFqJsy7GETj3Z/1DjMPBnW+8
AJlQZebIT/lELI9+DUyTOn4IcOGxr/O6rFQwVfctEkBYssKlABEBAAHCwF8EGAEI
ABMFAljgHiwJENP64X8OOTkgAhsMAACEigf+KXMc9zoQRLJAbO2cDq47LdmWShb+
1+NyOhvrh/idpQueU/IWAOsqhnXdpRmu+bUuI/jqYb4fdkP6nTXUNLtUYTxs8srm
ag1GeUJa+DJKjijgi0LlHdvFlk7EGeMcAEB7B/rWI0NvM3e+t4HeQK21W1/bjvir
TzgBHPZYsheutwYeQ+nf3mVSFVrIBAB8W65gv2HdYGV9Jw46YS/PbrPAi5yAvdhs
BckmxpPnGybby/TvOX5BZWxkWkmPveDQFgmzmCFRQSbtVDIDVGK2w8TkgmfVk7/8
flwtxGO5z25sam8j/Xm/9zt74Dr1HKkmB1+iBls9REgT4pBO4cmZvv/6/w==
=aQR4
-----END PGP PUBLIC KEY BLOCK-----

dump html contents of http://www.oscn.net/applications/oscn/Index.asp?ftdb=STOKAG&year=2019&level=1

We should know today if this is still the case.

Blocked no more - this scraper works


Tests fail to build in Xcode 16 beta

Describe the bug
I'm using this library as part of a feature that uses TCA, and I believe that it's the CasePaths library specifically that's causing my test suite to fail to build. The app itself builds and runs as expected.
To Reproduce
I have two tests that cover both the success and failure cases of an Action that has an associated value of Result<Void, Error> type, used within a feature annotated with the @Reducer macro:
@Reducer
struct MyFeature {
  enum Action: Sendable {
    case didFinishLoading(Result<Void, Error>)
    ...
  }
  ...
}

My test cases look like this:
final class MyFeatureTests: XCTestCase {
  @MainActor
  func test_fetch_success() async {
    let store = TestStore(initialState: MyFeature.State()) {
        MyFeature()
    }
    await store.send(.fetch) {
      $0.isFetching = true
    }
    await store.receive(\.setFetchingFinished.success) {
      $0.isFetching = false
    }
  }

  @MainActor
  func test_fetch_failure() async {
    let store = TestStore(initialState: MyFeature.State()) {
      MyFeature()
    } withDependencies: {
      $0.fetchAction = {
        throw TestError.expected
      }
    }
    await store.send(.fetch) {
      $0.isFetching = true
    }
    await store.receive(\.setFetchingFinished.failure) {
      $0.isFetching = false
      $0.navigationDestination = .alert(AlertState { TextState("Expected error.") })
    }
  }
}

private enum TestError: LocalizedError {
  case expected

  var errorDescription: String? {
    switch self {
    case .expected:
      "Expected error."
    }
  }
}

Expected behavior
The test suite should build without error.
Environment

swift-case-paths 1.4.2
Xcode 16.0 beta 1
Swift 6.0
OS: macOS Sonoma 14.5

Additional context
Changing the Void success type to some other concrete type such as Bool results in the tests building successfully. Also removing the .success and .failure from the case path in the .receive() calls results in the tests building successfully.
I use the Void type in this instance because I have an external (non-TCA) object that handles the loading and data management that the .fetch action triggers.

@bdbergeron Can you zip up and share a project that reproduces the issue? The code snippet above unfortunately isn't enough to debug things.

@stephencelis sure thing, here y'a go: TCATestIssueRepro.zip

@bdbergeron As far as I can tell this is a Swift bug/regression that affects all the way back to swift-case-paths 1.1, where the macros were first introduced, and I haven't been able to figure out a workaround in the library itself to support the preexisting types.
Can you file a bug with apple/swift and report back here? I'll try to spend some time reducing the problem tomorrow, but it'd be good to flag the regression with Apple.
Since this is an Apple bug that we can't do much about, I'm going to convert to a discussion, but hopefully it gets fixed soon.


Update cats-core to 2.7.0

Updates org.typelevel:cats-core from 2.6.1 to 2.7.0.
GitHub Release Notes - Changelog - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel", artifactId = "cats-core" } ]

labels: library-update, early-semver-minor, semver-spec-minor

Codecov Report

Merging #6 (10cea1e) into main (87946f1) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #6   +/-   ##
=======================================
  Coverage   50.00%   50.00%
=======================================
  Files           4        4
  Lines          36       36
=======================================
  Hits           18       18
  Misses         18       18

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 87946f1...10cea1e. Read the comment docs.


benchmark conditions

Add config file and NM version (commit) to http://neural-monkey.readthedocs.io/en/latest/benchmark.html

ping

It is here:
/home/kocmanek/merkur3/Projects/GPUBenchmark/MT/deen_config2GB.ini
The NM used is a8fc578edcd6764da391e702a9c49531bd2f54c8 (I hope)

I would rather remove the GPU benchmarking section from the documentation entirely. TensorFlow got updated several times since the measurements, the configuration file can no longer be used and we don't know the final BLEU score of that experiment.


module auto-loading

Inevitably we'll start splitting LR into smaller modules. It would make sense to replace/amend the adapter architecture with auto-loadable modules, like we do in Cayenne, Bootique, etc. In fact with Cayenne DI ModuleProvider/ModuleLoader we should be able to get this feature for free. Just need to define which service interface would load the modules.
Going forward we may split the following pieces into separate auto-loadable server-side modules:

linkrest-sencha
linkrest-cayenne
(perhaps other backends)

link-rest-client will not initially be affected by this effort.

The way the implementation works, there are two service provider interfaces com.nhl.link.rest.LrFeatureProvider to provide JAX-RS extensions, and com.nhl.link.rest.LrModuleProvider to provide extra DI modules. In the past both functions were combined in a single LinRestAdapter, that was kind of dirty.
So no to create an extension, one needs to write a class that implements one of the 2 interfaces above, and then a file named META-INF/services/com.nhl.link.rest.LrFeatureProvider or META-INF/services/com.nhl.link.rest.LrModuleProvider with the name of that class.


add unzip overwrite param

Fixes #36
Issue: If a war file contains the same file twice the script will hang when it asks for a response from the user. This becomes an issue especially when running via Ansible or other automation. This fix overwrites the files and avoids prompting the user.

can you resolve the merge conflicts ?


Error Message after installing - not working

Issue

After installing the homebridge-hue plugin its not working and I got error messages. all other plugins are working.
Log Messages

[01/09/2021, 11:35:03] [homebridge-hue] This plugin is taking long time to load and preventing Homebridge from starting. See https://git.io/JtMGR for more info.
[01/09/2021, 11:35:08] [Philips hue] Philips hue: request 4: POST / {"devicetype":"homebridge-hue#homebridge"}
[01/09/2021, 11:35:08] [Philips hue] Philips hue: request 4: write EPROTO<PHONE_NUMBER>:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332:

ConfigFiles
{
"name": "Philips hue",
"anyOn": true,
"effects": true,
"hosts": [
"Philips-hue:80"
],
"lights": true,
"linkButton": true,
"nativeHomeKitLights": true,
"nativeHomeKitSensors": true,
"resource": true,
"rules": true,
"schedules": true,
"sensors": false,
"wallSwitch": true,
"platform": "Hue"
},

Looks like your installation of NodeJS isn’t happy with your installation of OpenSSL.  I’m afraid that’s beyond me.
Are you running Homebridge Hue in a separate (child) bridge?  It wouldn’t be the first time that other plugins break SSL and/or HTTPS.
As a workaround, you could set forceHttp in config.json to make Homebridge Hue use plain HTTP to connect to the Hue bridge.

It works with the workaround.
I got another warning:
[01/09/2021, 15:05:45] [Philips hue] homebridge-hue v0.13.21, node v14.17.4, homebridge v1.3.4
[01/09/2021, 15:05:45] [Philips hue] warning: recommended version: node v14.17.5 LTS
Should this be the reason and should I update ?
THANKS A LOT !

I don’t think the issue is related to the NodeJS version, but either due to mismatch between NodeJS and OpenSSL, or due to some other plugin breaking SSL.  What system are you running on?
Generally, you want to be on the latest LTS version of NodeJS, since these contain security updates.  I develop and test my plugins (only) against that version.


fix: improve uninstall syntax and remove useless namespaces

Fix syntax of Community Package
Remove useless namespaces after uninstall

Great thanks for your revision. LGTM.


fix: Input attrs not reactive

Fixes: #224

Do i have to run pnpm build:registry command?
I am using Windows laptop so seeing inconsistency in registry output. #181

No, no need to build the registry on your end

I have thought about props and attrs. Please share your thoughts, too 🙏

attrs way
I think making read-only Proxy (useAttrs, $attrs) reactive is not a good idea
We are using computed or maybe toRefs for attrs to make them reactive/can-be-mutated inside the Component, which they can't, we are changing their nature (readonly)

props way
By adding class to props, class will be removed from $attrs object so we will not get duplicated class so we can use props.class in cn function and v-bind="$attrs" without worrying about duplication
Even though we are not changing/mutating some props like class (toRefs/computed) inside the Component
I think using props is a better way.
Sorry for my bad English. I'll try to make a Vue SFC Playground example to explain what I meant
https://github.com/radix-vue/shadcn-vue/issues/35

Yeah i also think using Props is a better approach here. Created a playground for it.
Vue SFC Playground
Sorry for the late response.

Just changed one thing in your playground, also thanks for your comment
Vue SFC Playground
Let's fake imagine class type changes in the feature so using this type from Vue (HTMLAttributes['class']) will save us refactoring tons of Components Props
- class?: string
+ class?: HTMLAttributes['class']

Yeah this is right way to do the typing. I should've used the HTMLAttributes['class'].

Now, Should i change my implementation to using Props for class? Or there are still some scenarios or edge cases we want to check first?

Yes, go with Props
Please, if you have time, refactor all the components

Yeah, okay.
And by all you mean FormItem, PaginationEllipsis and other components where we are using useAttrs for class?

Yes, only useAttrs 🙏
I'll refactor the rest if it's needed

Change the implementation to using props for class. Let me know if there are any other issue.


Use Command Line to create AD Registration

**Is your feature request related to a problem? Please describe. **
Use Command Line to create AD Registration
Describe the solution you'd like
I would like the command line deployment to create the AAD Registrations to improve UX

Added to 4.0


Character count in news not working

Describe the Bug

In news form the number of characters typed by user should be live counted and shown in the left bottom corer.
Steps to Reproduce

Go to 'News'
Click on 'Create news message'
Type some letters in 'content'
See the left bottom corner.

Expected Behavior

The number of characters is counted and shown live, like '42/250'.
Actual Behavior

The number of characters is not shown (it remains only '/250').

Additional Information

Just ran a git bisect, looks like you found the first error caused by the linter refactor 😅

This is very strange. The reason it's not working anymore is because the charCounter querys for textarea[name^=form-][name$=-text]. However, the forms are now called translations-0-text, translations-1-text and so on (instead of form-0-text etc.).
For the life of me, I can't find where this name is set in the first place, much less where the linter PR could have influenced it.

For the life of me, I can't find where this name is set in the first place, much less where the linter PR could have influenced it.

Thanks for figuring that out!
Then you're off the hook and it's my fault when I refactored the formset to use inlineformset_factory instead of modelformset_factory in https://github.com/digitalfabrik/integreat-cms/commit/1f1ab371fee1b7a57ef678f97c7c32f4e00189b2 :innocent:

For the life of me, I can't find where this name is set in the first place, much less where the linter PR could have influenced it.

Thanks for figuring that out! Then you're off the hook and it's my fault when I refactored the formset to use inlineformset_factory instead of modelformset_factory in 1f1ab37 innocent

Oh, than I guess I mis-read the bisect, whoops.
Iĺl just open a PR with the regex changed?


JWT Tests and pin swagger-parser to 4.0.2

add back JWT tests
pin swagger-parser to v4.0.2. PR #83 and PR #84, were added to improve the the validate() method and should  now detect when a JSON Schema in an API definition has required properties that don't exist. Unfortunately, the fixes don't take into account $ref which caused two unit test to break:

129) responses array with required #249:

      Expected false to be true

      at lab.test (/.hapi-swagger-fixes/test/Integration/responses-tests.js:697:35

130) responses replace example with x-example for response:

      Expected false to be true

      at lab.test (./hapi-swagger-fixes/test/Integration/responses-tests.js:755:35

Coverage remained the same at 100.0% when pulling 32c7abb8372047e0b03f1edc5b1875aa26288000 on robmcguinness:master into 2edaebb6793ac52527cea42e5e57c00693f60168 on glennjones:master.

@robmcguinness I'm the author of the swagger-parser PRs #83 & #84. Would you care to explain the scenarios which are not supported yet? Can you confirm they are not fixed yet with the latest release?

I was just adding back a test that was commented out in the latest release. I'm not sure if pinning swagger-parser is still relevant.

@marcelstoer thanks for reaching out. I'll try and confirm if this is still an issue soon.

Still an issue with latest release of<EMAIL_ADDRESS>I'll pin the version for now and figure out why the test are breaking.


Create test.txt

/check-cla

@chenzeng765, thanks for your pull request. All authors of the commits have signed the CLA. :wave:

qweqweqw

/kind bug


Npm installer

You can test this out by running cargo run --release -- dist --artifacts=global
Which should spit out blahblah-npm-package.tar.gz

The two files of interest package.json and binary.js, which come out as follows:

package.json
{
  "name": "axodotdev/cargo-dist",
  "version": "0.0.5",
  "description": "Shippable application packaging for Rust",
  "repository": "https://github.com/axodotdev/cargo-dist",

  "license": "MIT OR Apache-2.0",

  "main": "index.js",
  "bin": {
    "rover": "run.js"
  },
  "scripts": {
    "postinstall": "node ./install.js",
    "fmt": "prettier --write **/*.js",
    "fmt:check": "prettier --check **/*.js"
  },
  "engines": {
    "node": ">=14",
    "npm": ">=6"
  },
  "volta": {
    "node": "18.14.1",
    "npm": "9.5.0"
  },
  "dependencies": {
    "axios-proxy-builder": "^0.1.1",
    "binary-install": "^1.0.6",
    "console.table": "^0.10.0",
    "detect-libc": "^2.0.0"
  },
  "devDependencies": {
    "prettier": "2.8.4"
  }
}

binary.js
const { Binary } = require("binary-install");
const os = require("os");
const cTable = require("console.table");
const libc = require("detect-libc");
const { configureProxy } = require("axios-proxy-builder");

const error = (msg) => {
  console.error(msg);
  process.exit(1);
};

const { version } = require("./package.json");
// These are injected by cargo-dist
const name = "cargo-dist";
const artifact_download_url = "https://github.com/axodotdev/cargo-dist/releases/download/v0.0.5"

// These are injected by cargo-dist
const supportedPlatforms = {
  "aarch64-apple-darwin": {
    "artifact_name": "cargo-dist-v0.0.5-aarch64-apple-darwin.tar.xz",
    "bins": ["cargo-dist"],
    "zip_ext": ".tar.xz"
  },
  "x86_64-apple-darwin": {
    "artifact_name": "cargo-dist-v0.0.5-x86_64-apple-darwin.tar.xz",
    "bins": ["cargo-dist"],
    "zip_ext": ".tar.xz"
  },
  "x86_64-pc-windows-msvc": {
    "artifact_name": "cargo-dist-v0.0.5-x86_64-pc-windows-msvc.zip",
    "bins": ["cargo-dist.exe"],
    "zip_ext": ".zip"
  },
  "x86_64-unknown-linux-gnu": {
    "artifact_name": "cargo-dist-v0.0.5-x86_64-unknown-linux-gnu.tar.xz",
    "bins": ["cargo-dist"],
    "zip_ext": ".tar.xz"
  }};

const getPlatform = () => {
  const raw_os_type = os.type();
  const raw_architecture = os.arch();

  // We want to use rust-style target triples as the canonical key
  // for a platform, so translate the "os" library's concepts into rust ones
  let os_type = "";
  switch (raw_os_type) {
    case "Windows_NT":
      os_type = "pc-windows-msvc";
      break;
    case "Darwin":
      os_type = "apple-darwin";
      break;
    case "Linux":
      os_type = "unknown-linux-gnu"
      break;
  }

  let arch = "";
  switch (raw_architecture) {
    case "x64":
      arch = "x86_64";
      break;
    case "arm64":
      arch = "aarch64";
      break;
  }

  // Assume the above succeeded and build a target triple to look things up with.
  // If any of it failed, this lookup will fail and we'll handle it like normal.
  let target_triple = `${arch}-${os_type}`;
  let platform = supportedPlatforms[target_triple];

  if (!!platform) {
    error(
      `Platform with type "${raw_os_type}" and architecture "${raw_architecture}" is not supported by ${name}.\nYour system must be one of the following:\n\n${supportedPlatforms}`
    );
  }

  // These are both situation where you might toggle to unknown-linux-musl but we don't support that yet
  if (supportedPlatform.TYPE === "Linux") {
    if (libc.isNonGlibcLinuxSync()) {
      error("This operating system does not support dynamic linking to glibc.");
    } else {
      let libc_version = libc.versionSync();
      let split_libc_version = libc_version.split(".");
      let libc_major_version = split_libc_version[0];
      let libc_minor_version = split_libc_version[1];
      let min_major_version = 2;
      let min_minor_version = 17;
      if (
        libc_major_version < min_major_version ||
        libc_minor_version < min_minor_version
      ) {
        error(
          `This operating system needs glibc >= ${min_major_version}.${min_minor_version}, but only has ${libc_version} installed.`
        );
      }
    }
  }
};

const getBinary = () => {
  const platform = getPlatform();
  const url = `${artifact_download_url}/${platform.artifact_name}`;

  if (platform.bins.length > 1) {
    // Not yet supported
    error("this app has multiple binaries, which isn't yet implemented");
  }
  let binary = new Binary(platform.bins[0], url);

  return binary;
};

const install = () => {
  const binary = getBinary();
  const proxy = configureProxy(binary.url);

  return binary.install(proxy, suppressLogs);
};

const run = () => {
  const binary = getBinary();
  binary.run();
};

module.exports = {
  install,
  run,
  getBinary,
};


Support for 1D and 2D grid in mx.fast.metal_kernel

Proposed changes
This change allows using metal kernels with 1D and 2D grids, in addition to 3D grids. Previously, grid and threadgroup argument had to be 3 element tuples of integers. With this change, they can be one of int (1D), tuple[int, int] (2D) and tuple[int, int, int] (3D).
Checklist
Put an x in the boxes that apply.

[x] I have read the CONTRIBUTING document
[x] I have run pre-commit run --all-files to format my code / installed pre-commit prior to committing changes
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have updated the necessary documentation (if needed)

Although nice, I don't necessarily see the reason as one can simply pass the tuple as follows (N, 1, 1) or of course (N, M, 1). Subsequently in the kernel you can access just the .x member or the .xy swizzle.
Is there something that is not possible with the above?

@jeethu is there something I missed? Do you think we need the 1D and 2D grid capability?

@jeethu is there something I missed? Do you think we need the 1D and 2D grid capability?

I'd written this to port a few old of my old 1D and 2D metal kernels for use with MLX without changing the kernel source. Your suggestion does sound reasonable. Happy to close this PR, if you think it introduces too much of a maintenance overhead.
Also, there's a minor typo fix (s/thread_per_threadgroup/threads_per_threadgroup/) in this PR that should probably go in another change.


Authenticator App Prompts User to Verify Code from Authenticator App when User Tried to Log in to Authenticator App

[Enter feedback here]
Microsoft Authenticator App prompts users to verify code from authenticator app for a new log in and user unable to retrieve code and unable to log back in to authenticator app when Microsoft Authenticator App is only verification method of your MFA for onmicrosoft.com account.

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

ID: 8b52a210-1be6-4e5f-d95c-8ea7b87919ca
Version Independent ID: 02a43ebb-7471-d7ff-4f7e-84c9f7a66326
Content: Back up and recover accounts with the Microsoft Authenticator app - Azure AD
Content Source: articles/active-directory/user-help/user-help-auth-app-backup-recovery.md
Service: active-directory
Sub-service: user-help
GitHub Login: @curtand
Microsoft Alias: curtand

@meiokubo  Thank you for your feedback . We will investigate and update the thread further.

@meiokubo Thanks for reaching out. If you are trying to use the backed up account via recovery process, you need to make sure that you do not add that account first, instead use the Begin recovery process to fetch that account from your saved up cloud.
For any work or school account, you will need to follow these steps in full view mode in order to recover.
Let me know if your have any different scenario.

@vipulsparsh Thank you for following up. Here is what I follow through before I locked out:

I created Microsoft 365 Business Standard trial account one with the onmicrosoft.com domain
I'm the only admin/user in the organization
I set up Microsoft Authenticator for iOS and did not have a backup email or number
I had an issue with another account in my iOS Authenticator app so I signed out all account from Authenticator along with the onmicrosoft.com account
Next time I tried to log in to my organization with onmicrosoft.com email on Chrome, it prompted me to code verification
I tried to verify code with the Authenticator app so I tried to log back in with my onmicrosoft.com account
But Authenticator App also prompted me to verify code with Authenticator app with this account
As you can imagine, it's impossible to verify code
I've resolved the issue with an account with Microsoft 365 Support over email by deleting this account and the organization
This issue is only for bug reporting purpose
But there was a link to use backup code when I tried logging back into iOS Authenticator app with this account

Thanks!

@meiokubo Thanks for reporting it. We will update the same in documents as FAQ.


Extension issue

Issue Type: Bug
Extension Name: LiveServer
Extension Version: 5.6.1
OS Version: Windows_NT x64 6.3.9600
VS Code version: 1.58.0

:warning: We have written the needed data into your clipboard. Please paste! :warning:

it shows live Server Extension unresponsive.
all-time I can use a live server the live server show an Extension problem.


Ability to select fields which are visible on report's print page

Right now the printed / pdf version of a report shows all the fields in the detailed view. It would be nice if we could hide / show columns for print / pdf.

@Gaya I'd like to have a look at this, would that be alright?
Anything I'll need to know before looking at it? Cheers.

Yeah, this would be a good thing for you to set up. I am going to make some detailed ideas in here as soon as I get the time. Thank you for volunteering to take on this task

@Gaya where is the printed version? Is this just a print preview from your browser? or is it a button or something?

@Gaya  is this just a button on the detailed view columns to hide or show these options in the print preview?

@Gaya something like this?


polish some well known unfriendly AAD server errors

Fix #945

Not sure why the CI build failed on Python 3.5-dev but if you restart that build, it should be fine.


Design attribute encoders for OIDC

When releasing attributes, consider writing specific encoders that fit within the Idp's attribute resolver engine.

Look into how claims as part of the id token can be retrieved from IdP attributes basically. Make sure the UserInfo service can talk to the IdP's attribute resolver to figure out the principal, etc.

Done.


PESEL regex added

OK, I've fixed the unsynced fork that lead to conflicts in the PR from yesterday. Hope everything's fine now. I still consider myself a newbie when it comes to contributing.

@ajbrzoz Please, look at Travis CI report. Here are raised exception:  IndentationError: expected an indented block  in tests/test_patterns.py, line 432.

@ajbrzoz I'll fix it by myself. Thank you!


[Task] Add functionality to Make Start State

When this task is complete a user should be able to:

Start on the machine edit page with a  state drawn.
Click on the state.
Click on the Make Start State button.
Verify that the selected state has been labeled as the start state.

Additionally, the user should be able to:

Start on the machine edit page with at least 2 states drawn.
Follow the above steps to make one state the start state.
Follow the above steps with the other state.
Verify that the second state appears as the start state, and the first state no longer does.


UNPIVOT not working

I am trying a fairly simple UNPIVOT example, but it's not working.
My data is like this, with 4 columns:
var unpivotData = [
{Quarter:'Q1',R1Sales:20,R2Sales:30,R3Sales:50},..
];
my query:
var unpivotQuery = "Select Quarter, R1Sales, R2Sales, R3Sales from ? UNPIVOT (Sales for Region in (R1Sales, R2Sales, R3Sales) ) as unpvt";
which is virtually identical to the query found here: https://github.com/agershun/alasql/issues/490
but when I run it:
var unpivotResults = alasql( unpivotQuery, [unpivotData]);
i get this error:
Uncaught Error: Parse error on line 1:
...ales from ? UNPIVOT (Sales for Region in
-----------------------^
Expecting 'EOF', 'WITH', 'COMMA', 'RPAR', 'ORDER', 'WHERE', 'UNION', 'INTERSECT', 'EXCEPT', 'CROSS', 'OUTER', 'NATURAL', 'JOIN', 'INNER', 'LEFT', 'RIGHT', 'FULL', 'SEMI', 'ANTI', 'ON', 'USING', 'GROUP', 'LIMIT', 'END', 'ELSE', 'SEMICOLON', 'GO', got 'LPAR'parseError @ alasql.min.js:3parse @ alasql.min.js:3alasql.parse @ alasql.min.js:3alasql.dexec @ alasql.min.js:4alasql.exec @ alasql.min.js:4alasql @ alasql.min.js:1(anonymous function) @ join2.html:73
what am I doing wrong?
also, is there any way to use this query format instead:
var unpivotQuery = "Select Quarter, Region, Sales from ? UNPIVOT (Sales for Region in (R1Sales, R2Sales, R3Sales) ) as unpvt";
or even this one (with aggregation):
var unpivotQuery = "Select Quarter, Region, sum(Sales) as [Total Sales] from ? UNPIVOT (Sales for Region in (R1Sales, R2Sales, R3Sales) ) as unpvt group by Quarter, Region";

I received the same error using a table.
Side question: is there any performance or memory benefit to using tables rather than just storing the data directly as an array of JS objects?

Btw, I tried the test on that page and I received the same error.

Very strange. Could you do me a favor and let me know what you get when printing alasql.version

Mathias,
I think that was it. :(  .1.9.   I'm not sure why I was pointing to an older version which was local.   My production use has used the CDN .2.3 version, but this test was against an older, local copy.  Sorry about wasting your time on that.  :(  it seems to be working now.
Btw, this query format worked:
 "Select Q, R1Sales, R2Sales, R3Sales from ? UNPIVOT (Sales for Region in (R1Sales, R2Sales, R3Sales) ) as unpvt";
but this one did not:
"Select Q, Region, Sales from ? UNPIVOT (Sales for Region in (R1Sales, R2Sales, R3Sales) ) as unpvt";
do you plan on supporting that format in the future?
Mark
On Friday, March 11, 2016 1:24 PM, Mathias Rangel Wulff<EMAIL_ADDRESS>wrote:

Very strange. Could you do me a favor and let me know what you get when printing alasql.version—
Reply to this email directly or view it on GitHub.

Im glad we nailed it (and that there was no bug).
Ill create a new issue with your question as a feature request. We dont have any plans on what to implement.

thanks!  again, sorry for wasting your time on that.
On Friday, March 11, 2016 2:01 PM, Mathias Rangel Wulff<EMAIL_ADDRESS>wrote:

Im glad we nailed it (and that there was no bug).Ill create a new issue with your question as a feature request. We dont have any plans on what to implement. —
Reply to this email directly or view it on GitHub.


DNN-10568: Password Reset - Clicking on Cancel button throw 503 Error

Converting the cancel/close button to hyperlink to stop postback plus response.redirect

code review done


DO NOT MERGE move oauth prompt code out of BotFrameworkAdapter

The current BotFrameworkAdapter contains a significant amount of code that exists to support the oauth prompt.
This PR simply moves this code into a separate internal class. This is a step to making it easier to reuse from a refactored adapter.

We might be having second thoughts about this. Perhaps we should work top down and consolidate the code between the OAuthPrompt and OAuthInput before deciding on this factoring. Clearly the oauth logic needs refactoring and clearly it won't work in private cloud infrastructures as is. The only question is how we refactor it.

it makes more sense to leave BF alone right now. We start with CloudAdapter with this code separate.


Unable to debug node project

Issue Type: Bug
Dear,
From time to time (VSC update ???), I'm unable to debug my NodeJs project! here are the issue:

breakpoints are disabled (empty circle)
call stack section is empty but with a RUNNING status in upper right corner
DEBUG CONSOLE only show  running command '/home/rpochet/Public/node-v14.16.0-linux-x64/bin/node server/index.js' without any log except if I set "outputCapture": "std" in launch.json

I successfully solve this issue by using a specific version of Node/npm, but issue re-appear...
Could you give me advice to solve the issue ?
VS Code version: Code 1.65.2 (c722ca6c7eed3d7987c0d5c3df5c45f6b15e77d1, 2022-03-10T15:36:26.048Z)
OS version: Linux x64 5.4.0-100-generic
Restricted Mode: No

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz (1 x 2496)

GPU Status
2d_canvas: unavailable_softwaregpu_compositing: disabled_softwaremultiple_raster_threads: disabled_offoop_rasterization: disabled_offopengl: disabled_offrasterization: disabled_softwareskia_renderer: enabled_onvideo_decode: disabled_softwarevulkan: disabled_offwebgl: unavailable_softwarewebgl2: unavailable_software

Load (avg)
1, 1, 1

Memory (System)
15.63GB (11.00GB free)

Process Argv
--unity-launch --crash-reporter-id f28347dc-18ce-4523-b053-d7afe7b81670

Screen Reader
no

VM
100%

DESKTOP_SESSION
cinnamon

XDG_CURRENT_DESKTOP
X-Cinnamon

XDG_SESSION_DESKTOP
cinnamon

XDG_SESSION_TYPE
x11

Extensions (22)

Extension
Author (truncated)
Version

node-essentials
afr
1.1.0

vscode-icontheme-nomo-dark
be5
1.3.6

path-intellisense
chr
2.8.0

vscode-eslint
dba
2.2.2

gitlens
eam
12.0.4

EditorConfig
Edi
0.16.4

vscode-pull-request-github
Git
0.38.1

vscode-mocha-test-adapter
hbe
2.13.3

vscode-test-explorer
hbe
2.21.1

vscode-mocha-sidebar
mat
0.22.2

dotenv
mik
1.0.1

vscode-kubernetes-tools
ms-
1.3.7

test-adapter-converter
ms-
0.1.5

vscode-typescript-tslint-plugin
ms-
1.3.3

debugger-for-chrome
msj
4.13.0

vscode-jest
Ort
4.2.1

fabric8-analytics
red
0.3.5

vscode-yaml
red
1.5.1

vs-code-prettier-eslint
rve
3.1.0

vscodeintellicode
Vis
1.2.17

quokka-vscode
Wal
1.0.450

vscode-import-cost
wix
2.15.0

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyl392:30443607
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
vscod805:30301674
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
vsclayoutctrt:30451275
dsvsc009:30452663
pythonvsnew555:30450902
vscscmwlcmc:30438804
vscgsvidc:30447482
vscaac:30438847
pynewfile477:30450038

/jsDebugLogs

I made a simple project and start it using launch.json (Add configuration...). Before starting, breakpoints are red but when lauching program, they become empty until program ends.
Here is my launch.json file
{     // Use IntelliSense to learn about possible attributes.     // Hover to view descriptions of existing attributes.     // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387     "version": "0.2.0",     "configurations": [         {             "type": "pwa-node",             "request": "launch",             "name": "Launch Program",             "skipFiles": [                 "<node_internals>/**"             ],             "program": "index.js",             "trace": true         }     ] }
In debug console, i have:
Verbose logs are written to: [/home/rpochet/.config/Code/logs/20220318T075548/exthost1/ms-vscode.js-debug/vscode-debugadapter-c95bab0c.json.gz]() [/home/rpochet/Public/node-v14.16.0-linux-x64/bin/node]() index.js
Here is the log file:
vscode-debugadapter-c95bab0c.json.gz

I finally manage to make it work by downgrading to version 1.65.2 which has the same node version as my runtime (14.16.0). But this works only a few days... The issue is still there

It looks like the subprocess isn't successfully making a connection back to the VS Code process once it enters debug mode. Some things that can fix it:

Updating Node.js may resolve the issue
If you installed VS Code via snap, we've seen that sometimes cause issues, but haven't found a root cause or reproduction yet

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Some questions about reproducing the results in  COLING 2018 paper,

Hi, jie!  To reproduce the results of  Char CNN + Word LSTM + CRF model on CoNLL2003 NER task, I set the iteration=1 as iteration=100 in configuration file demo.train.config , put glove.6B.100d.txt  in directory "sample_data"  and revised I/O paths. Then I ran "python main.py --config demo.train.config".  After 100 epochs, the test F1-score was only 81.86, which was much lower than reported result 91.11. Could you give me some suggestions? (I didn't revise any hyper-parameters in your default configuration file "demo.train.config" as you mentioned in your "README.md")

Thanks for your reply. This is my training log file.
ccnnlstmcrf_sent_conll.log

@HAWLYQ Hi, I checked your log file. The parameter setting is OK. The strange thing is that in line 9 of your log pretrain word:400000, prefect match:3, case_match:0, oov:1, oov%:0.2. I believe you are using incorrect input data format.
You can share a sample data of your input for checking.

@jiesutd I think i get it, I will change the input data format and have a try.  Thanks for your help.

@HAWLYQ You are welcome.


[ast] Added DFT interface + logic updates

Signed-off-by: Arnon Sharlin<EMAIL_ADDRESS>@Jacob-Levy
@tjaychen
@msfschaffner
Latest AST updates. Most important is the new DFT interface.

@arnonsha last question, are you guys comfortable directly integration this into top_earlgrey?   If not, I can walk you through the process, and then you guys can make your own decision about whether to remove ast_wrapper (which is still there at the moment, though I know we've talked about removing it).

No plans of removing ast_wrapper at the moment

@arnonsha last question, are you guys comfortable directly integration this into top_earlgrey? If not, I can walk you through the process, and then you guys can make your own decision about whether to remove ast_wrapper (which is still there at the moment, though I know we've talked about removing it).

No plans of removing ast_wrapper at the moment

The DV regression is failing with
Error-[SV-PPD] Package previously declared
../src/lowrisc_top_earlgrey_pinmux_reg_0.1/rtl/autogen/pinmux_reg_pkg.sv, 7
pinmux_reg_pkg
  Identifier 'pinmux_reg_pkg' is already declared in file
  "../src/lowrisc_ip_pinmux_reg_0.1/rtl/pinmux_reg_pkg.sv", line 7.

I'm having a look now to see how we can resolve that, I'll get back to you.

The DV regression is failing with
Error-[SV-PPD] Package previously declared
../src/lowrisc_top_earlgrey_pinmux_reg_0.1/rtl/autogen/pinmux_reg_pkg.sv, 7
pinmux_reg_pkg
  Identifier 'pinmux_reg_pkg' is already declared in file
  "../src/lowrisc_ip_pinmux_reg_0.1/rtl/pinmux_reg_pkg.sv", line 7.

I'm having a look now to see how we can resolve that, I'll get back to you.

I added a workaround for the pinmux dependency issue in the comment above.  With this fix, the regression will fail at various other points due to ast_wrapper needing updates as well. You can run the regression locally with util/dvsim/dvsim.py hw/top_earlgrey/dv/top_earlgrey_sim_cfgs.hjson -i smoke --tool=vcs.
On a more general note: You'll have a much better time getting such changes integrated if you split them out into smaller changesets. As a rough guidance, whenever you feel tempted to say "Did this and that" in a commit message, it should have probably been two commits or two PRs. Doing multiple PRs is a bit more work, but will make it much quicker to get problems sorted out and them merged, making the overall experience less painful and faster. So whenever you have a small consistent change going forward, please do a PR right away to get it merged and done, and you can then build on top of it.

I added a workaround for the pinmux dependency issue in the comment above.  With this fix, the regression will fail at various other points due to ast_wrapper needing updates as well. You can run the regression locally with util/dvsim/dvsim.py hw/top_earlgrey/dv/top_earlgrey_sim_cfgs.hjson -i smoke --tool=vcs.
On a more general note: You'll have a much better time getting such changes integrated if you split them out into smaller changesets. As a rough guidance, whenever you feel tempted to say "Did this and that" in a commit message, it should have probably been two commits or two PRs. Doing multiple PRs is a bit more work, but will make it much quicker to get problems sorted out and them merged, making the overall experience less painful and faster. So whenever you have a small consistent change going forward, please do a PR right away to get it merged and done, and you can then build on top of it.

The DV regression is failing with
Error-[SV-PPD] Package previously declared
../src/lowrisc_top_earlgrey_pinmux_reg_0.1/rtl/autogen/pinmux_reg_pkg.sv, 7
pinmux_reg_pkg
  Identifier 'pinmux_reg_pkg' is already declared in file
  "../src/lowrisc_ip_pinmux_reg_0.1/rtl/pinmux_reg_pkg.sv", line 7.

I'm having a look now to see how we can resolve that, I'll get back to you.

Thank you @imphil for sorting this out.
Can you say why fusesoc hasn't sorted this out ?

The DV regression is failing with
Error-[SV-PPD] Package previously declared
../src/lowrisc_top_earlgrey_pinmux_reg_0.1/rtl/autogen/pinmux_reg_pkg.sv, 7
pinmux_reg_pkg
  Identifier 'pinmux_reg_pkg' is already declared in file
  "../src/lowrisc_ip_pinmux_reg_0.1/rtl/pinmux_reg_pkg.sv", line 7.

I'm having a look now to see how we can resolve that, I'll get back to you.

Thank you @imphil for sorting this out.
Can you say why fusesoc hasn't sorted this out ?

Can you say why fusesoc hasn't sorted this out ?

Because we don't specify a dependency between lowrisc:ip:pinmux_component and a package providing us with the pinmux_reg_pkg.sv, so FuseSoC has no way of knowing.
Unfortunately, due to the way our current toplevel setup works, we can't simply add the dependency. The short version would be: we have multiple implementations of that dependency/file in the tree and need to ensure we pick the right one, depending on e.g. if we're building top_earlgrey, or if we only build the pinmux component standalone.
I'm working on a proper fix that allows us to specify and select such dependencies in a sane way, but that requires a bit of underlying tooling refactoring first. Until that arrives we have to live with an increasingly ugly set of hacks.

Can you say why fusesoc hasn't sorted this out ?

Because we don't specify a dependency between lowrisc:ip:pinmux_component and a package providing us with the pinmux_reg_pkg.sv, so FuseSoC has no way of knowing.
Unfortunately, due to the way our current toplevel setup works, we can't simply add the dependency. The short version would be: we have multiple implementations of that dependency/file in the tree and need to ensure we pick the right one, depending on e.g. if we're building top_earlgrey, or if we only build the pinmux component standalone.
I'm working on a proper fix that allows us to specify and select such dependencies in a sane way, but that requires a bit of underlying tooling refactoring first. Until that arrives we have to live with an increasingly ugly set of hacks.

We are still failing the CI check :(
The AST uses only typedef from the pinmux_pkg.sv.
I tried to use in the dependency  –lowrisc:ip:pinmux_pkg   and fusesoc failed…
From: Philipp Wagner<EMAIL_ADDRESS>Sent: 27 ינואר 2021 17:09
To: lowRISC/opentitan<EMAIL_ADDRESS>Cc: IC10 Jacob Levy<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [lowRISC/opentitan] [ast] Added DFT interface + logic updates (#4878)
Can you say why fusesoc hasn't sorted this out ?
Because we don't specify a dependency between lowrisc:ip:pinmux_component and a package providing us with the pinmux_reg_pkg.sv, so FuseSoC has no way of knowing.
Unfortunately, due to the way our current toplevel setup works, we can't simply add the dependency. The short version would be: we have multiple implementations of that dependency/file in the tree and need to ensure we pick the right one, depending on e.g. if we're building top_earlgrey, or if we only build the pinmux component standalone.
I'm working on a proper fix that allows us to specify and select such dependencies in a sane way, but that requires a bit of underlying tooling refactoring first. Until that arrives we have to live with an increasingly ugly set of hacks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FlowRISC%2Fopentitan%2Fpull%2F4878%23issuecomment-768349650&data=04|01|jacob.levy%40nuvoton.com|69f3c562f917401fc29308d8c2d577da|a3f24931d4034b4a94f17d83ac638e07|0|0|637473569412781195|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=IZLlJsWkLiGIIoN9IQ2J0AHU70U6M5pdpc2FA2ItLHw%3D&reserved=0, or unsubscribehttps://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAQA3TGS7YZI3EWTAZNKZNNLS4AUANANCNFSM4WIWBP4A&data=04|01|jacob.levy%40nuvoton.com|69f3c562f917401fc29308d8c2d577da|a3f24931d4034b4a94f17d83ac638e07|0|0|637473569412791189|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=OIIDKERyLxN%2BeomY1L1GXji%2FaSdViqDMK3zEi23pSm8%3D&reserved=0.

The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.

We are still failing the CI check :(
The AST uses only typedef from the pinmux_pkg.sv.
I tried to use in the dependency  –lowrisc:ip:pinmux_pkg   and fusesoc failed…
From: Philipp Wagner<EMAIL_ADDRESS>Sent: 27 ינואר 2021 17:09
To: lowRISC/opentitan<EMAIL_ADDRESS>Cc: IC10 Jacob Levy<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [lowRISC/opentitan] [ast] Added DFT interface + logic updates (#4878)
Can you say why fusesoc hasn't sorted this out ?
Because we don't specify a dependency between lowrisc:ip:pinmux_component and a package providing us with the pinmux_reg_pkg.sv, so FuseSoC has no way of knowing.
Unfortunately, due to the way our current toplevel setup works, we can't simply add the dependency. The short version would be: we have multiple implementations of that dependency/file in the tree and need to ensure we pick the right one, depending on e.g. if we're building top_earlgrey, or if we only build the pinmux component standalone.
I'm working on a proper fix that allows us to specify and select such dependencies in a sane way, but that requires a bit of underlying tooling refactoring first. Until that arrives we have to live with an increasingly ugly set of hacks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FlowRISC%2Fopentitan%2Fpull%2F4878%23issuecomment-768349650&data=04|01|jacob.levy%40nuvoton.com|69f3c562f917401fc29308d8c2d577da|a3f24931d4034b4a94f17d83ac638e07|0|0|637473569412781195|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=IZLlJsWkLiGIIoN9IQ2J0AHU70U6M5pdpc2FA2ItLHw%3D&reserved=0, or unsubscribehttps://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAQA3TGS7YZI3EWTAZNKZNNLS4AUANANCNFSM4WIWBP4A&data=04|01|jacob.levy%40nuvoton.com|69f3c562f917401fc29308d8c2d577da|a3f24931d4034b4a94f17d83ac638e07|0|0|637473569412791189|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=OIIDKERyLxN%2BeomY1L1GXji%2FaSdViqDMK3zEi23pSm8%3D&reserved=0.

The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.

Can you say why fusesoc hasn't sorted this out ?

Because we don't specify a dependency between lowrisc:ip:pinmux_component and a package providing us with the pinmux_reg_pkg.sv, so FuseSoC has no way of knowing.
Unfortunately, due to the way our current toplevel setup works, we can't simply add the dependency. The short version would be: we have multiple implementations of that dependency/file in the tree and need to ensure we pick the right one, depending on e.g. if we're building top_earlgrey, or if we only build the pinmux component standalone.
I'm working on a proper fix that allows us to specify and select such dependencies in a sane way, but that requires a bit of underlying tooling refactoring first. Until that arrives we have to live with an increasingly ugly set of hacks.

The error says:
'pinmux_reg_pkg' is already declared in file
I assume CI uses fusesoc. Fusesoc knows that the core in question was already used by another core, so why does it add it to the the file a 2nd time ?

Can you say why fusesoc hasn't sorted this out ?

Because we don't specify a dependency between lowrisc:ip:pinmux_component and a package providing us with the pinmux_reg_pkg.sv, so FuseSoC has no way of knowing.
Unfortunately, due to the way our current toplevel setup works, we can't simply add the dependency. The short version would be: we have multiple implementations of that dependency/file in the tree and need to ensure we pick the right one, depending on e.g. if we're building top_earlgrey, or if we only build the pinmux component standalone.
I'm working on a proper fix that allows us to specify and select such dependencies in a sane way, but that requires a bit of underlying tooling refactoring first. Until that arrives we have to live with an increasingly ugly set of hacks.

The error says:
'pinmux_reg_pkg' is already declared in file
I assume CI uses fusesoc. Fusesoc knows that the core in question was already used by another core, so why does it add it to the the file a 2nd time ?

I fixed the core file per your suggestion, but CI still fails.

I fixed the core file per your suggestion, but CI still fails.

Thanks for hashing out the fusesoc issues!
The remaining errors appear to be due to ast interface changes:
Error-[UPIMI-E] Undefined port in module instantiation
../src/lowrisc_systems_ast_wrapper_0.1/rtl/ast_wrapper.sv, 108
  Port "entropy_ack_i" is not defined in module 'ast' defined in
  "../src/lowrisc_systems_ast_0.1/rtl/ast.sv", 11
  Module instance: ast #(.EntropyStreams(ast_wrapper_pkg::EntropyStreams),

Can you take a look and update the ast_wrapper accordingly?

Thanks for hashing out the fusesoc issues!
The remaining errors appear to be due to ast interface changes:
Error-[UPIMI-E] Undefined port in module instantiation
../src/lowrisc_systems_ast_wrapper_0.1/rtl/ast_wrapper.sv, 108
  Port "entropy_ack_i" is not defined in module 'ast' defined in
  "../src/lowrisc_systems_ast_0.1/rtl/ast.sv", 11
  Module instance: ast #(.EntropyStreams(ast_wrapper_pkg::EntropyStreams),

Can you take a look and update the ast_wrapper accordingly?

Thanks for clearing that out Michael
This PR introduces DFT related interface changes, so wrapper has to change accordingly, and the wrapper instantiation in top level. Hopefully @tjaychen will be able to do this soon so this PR can be finally merged.

Thanks for clearing that out Michael
This PR introduces DFT related interface changes, so wrapper has to change accordingly, and the wrapper instantiation in top level. Hopefully @tjaychen will be able to do this soon so this PR can be finally merged.

Could you just add the ports and tie the signals off to zero in the ast wrapper?
That way this does not have to block on @tjaychen, and he can come back to this once he has time.

Could you just add the ports and tie the signals off to zero in the ast wrapper?
That way this does not have to block on @tjaychen, and he can come back to this once he has time.

@imphil
Another failure related to verible on ast_reg_pkg.sv which is autogenerated by regtool.

@imphil
Another failure related to verible on ast_reg_pkg.sv which is autogenerated by regtool.

@imphil
Another failure related to verible on ast_reg_pkg.sv which is autogenerated by regtool.

the verible flakiness is related to a commit that @msfschaffner just reverted last night. Can you guys rebase on the latest and push again? You may see fpga failures, but that's some other unrelated item @imphil is tracking down at the moment.

@imphil
Another failure related to verible on ast_reg_pkg.sv which is autogenerated by regtool.

the verible flakiness is related to a commit that @msfschaffner just reverted last night. Can you guys rebase on the latest and push again? You may see fpga failures, but that's some other unrelated item @imphil is tracking down at the moment.

The part instantiating AST. See here Michael's request.
We have no intention of maintaining the ast wrapper. It is redundant and I believe you can drop it.

The part instantiating AST. See here Michael's request.
We have no intention of maintaining the ast wrapper. It is redundant and I believe you can drop it.

@tjaychen @msfschaffner
I just pushed a commit where no ast_wrapper is removed. It is not complete though and we do not expect CI to pass. Please go over the // TODO comments. However it is a good starting point for you to connect all necessary DFT signals.
Once all is complete, we'd like to understand how to VCS compile the full chip, so on future commits we would be able to run it prior to pushing a PR.

@tjaychen @msfschaffner
I just pushed a commit where the ast_wrapper is removed. It is not complete though and we do not expect CI to pass. Please go over the // TODO comments. However it is a good starting point for you to connect all necessary DFT signals.
Once all is complete, we'd like to understand how to VCS compile the full chip, so in future commits we would be able to run it prior to pushing a PR and see that all works well.

sorry accidentally closed it.

@arnonsha do you think it makes sense to merge this PR without removing ast_wrapper first?
Or do you prefer to do that all in one shot?

@arnonsha @Jacob-Levy
i'm going to go through and integrate this now (with the removed ast_wrapper).
please don't make any additional updates to this PR for now.

@tjaychen I believe we can close this PR now that you have carried over all these commits and integrated AST, right?

o yeah that's close it.
On Thu, Feb 25, 2021 at 7:18 PM Michael Schaffner<EMAIL_ADDRESS>wrote:

@tjaychen https://github.com/tjaychen I believe we can close this PR
now that you have carried over all these commits and integrated AST, right?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/pull/4878#issuecomment-786382925,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSS7DMRDL6YOSYPCX23TA4HHBANCNFSM4WIWBP4A
.


Code completion UI shouldn't disappear on noncompleted string

If you type 'z' the completion dialog disappears. This is bad - it makes it difficult to use the UI for exploration as it disappears if the thing that the user is looking for doesn't exist.

(this should show an empty list)

like this ?


Fix examples/events.

iced::alignment and iced::Alignment are deprecated. It uses iced::Align, iced::HorizontalAlign and iced::VerticalAlign now.
Also, Application::update takes 3 parameters but the older one only has 2.

It's the other way around. Alignment was introduced recently in #1044!


Support PYTHON_ARGCOMPLETE_OK_PATHS

Resolves #510 by supporting PYTHON_ARGCOMPLETE_OK_PATHS environment variable

@kislyuk If there is anything I can do to help get this merged, or anything else that resolves #510 or the underling issues it defines, please let me know

Please see discussion in https://github.com/kislyuk/argcomplete/issues/510#issuecomment-2564816215 - I do not expect to merge this PR in its current form.


Implement JNI methods for hybrid composition

[x] - void onDisplayPlatformView(int id, int x, int y, int width, int height)
Positions and sizes a platform view identified by id. When first called, a platform view must be allocated and stored for future calls.

[x] - void onDisplayOverlaySurface(int id, int x, int y, int width, int height)
Positions and sizes an overlay surface identified by id.

[x] - void onBeginFrame()
Called at the beginning of the frame to initialize any data structure.

[x] - void onEndFrame()
Called at the end of the frame to clean up any state.  For example, if a platform view isn't displayed in the current frame, then it could be deallocated.

[x] - FlutterOverlaySurface createOverlaySurface()
Creates an overlay surface.

FlutterOverlaySurface is a container object:
import android.view.Surface;

final public class FlutterOverlaySurface {
  @NonNull final private final Surface surface;
  @NonNull final private final int id;

  public FlutterOverlaySurface(@NonNull int id, @NonNull Surface surface) {
    this.id = id;
    this.surface = surface;
  }

  @NonNull
  public int getId() {
    return id;
  }

  @NonNull
  public Surface getSurface() {
    return surface;
  }
}

cc @cg021

The JNI methods aren't implemented yet. @cg021  Those are the hooks.  Let's reopen this issue and close it once we removed all the TODOs from the engine repo.

I'm going to reassign to myself for the remaining tasks

The remaining work is waiting on https://github.com/flutter/flutter/issues/58289

This is done


Chapter 2 config/routes.rb listing 4-6 changes

One of the confusing things in Chapter 2 is the block inside the namespace :api
Listing 4. config/routes.rb
Rails.application.routes.draw do
  namespace :api, defaults: { format: :json } do
    namespace :v1 do                   <= This guy
      # We are going to list our resources here
    end
  end
end

You then commit as "Set the routes constraints for the api". So far no problem. Then we see.
Listing 5. config/routes.rb
Rails.application.routes.draw do
  # Api definition
  namespace :api, defaults: { format: :json }  do
    # We are going to list our resources here           <= where's it gone?
  end
end

This is a bit confusing as the version namespace :v1 has disappeared. Maybe it's because it wasn't interesting? Maybe because it's a mistake? However, In Listing 6 we have namespace changed to scope.
Listing 6. config/routes.rb
Rails.application.routes.draw do
  # Api definition
  namespace :api, defaults: { format: :json }  do
    scope module: :v1 do            <= so we changed namespace to scope?
      # We are going to list our resources here
    end
  end
end

Is the progression from Listing 4 (adding an inner namespace), Listing 5 (missing it out again) and Listing 6 (inner scope module) deliberate? It's quite confusing to follow and not clear from the text why these changes happened.

Thanks do report. I think it was an old code from API on Rails 5 version. In this version I prefered to use namespace. You can find the final code at https://github.com/madeindjs/market_place_api_6/blob/master/config/routes.rb .
I will make a proofreading of chapter 2. Thanks again

Thanks for the link. I'll check that out tomorrow.

Effectively I made some mistake when updated book. I think this commit correct misunderstanding: a9c1abc5769713edb6ee0a1fa210c6653f890d53. Thanks for your report.


Brainstorm for better content for contributors profile page in meshery.io

Current State of the Meshery.io site

Right now in page https://meshery.io/community/ we used to show contributors profile which is no longer maintained and the contributor section is shift to layer5 website. So we are no in need of that page.
Desired State of the Meshery.io site

We need to replace the page with meaningful content which can help contributors to get help from or page which should basically describe the community more well so that any member should get familiar with. We need some brainstorming ideas.
When we fixed some idea will close this issue and open another to work on.

Contributor Guides and Handbook
The meshery.io website uses Jekyll and GitHub Pages. Site content is found under the master branch.

📚 See the Contributing to Meshery.io Website section of the readme.md and other contributing instructions, too.
🎨 Wireframes and designs for Meshery UI in Figma
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

Ignoring design and style, we'll want to ensure that at least this information is offered - https://github.com/meshery/meshery#join-the-meshery-community. The calendar can also be published on this same page (while still staying published under /calendar, too).

We have a thread on discuss.layer5.io .
I probably think its a good section to add  in order to encourage newcomers.
We could also exhibit the perks they get (in form of community members) if they are consistent and helpful while contributing.
Could also provide them links of resources to start their journey (the service mesh books as well as tutorials available).
Can also show a glimpse of newcomers meetings which happens weekly.

We can maybe show good-first-issue or any design related or stale issues on the website which will redirected to the actual issue/feature.
Ref: https://www.asyncapi.com/community/dashboard

A good topic to discuss in the websites call.
Please add this as an agenda item in the meeting minutes, if you would :)
// @sudhanshutech @Ghat0tkach @Savio629

That was a good reference @Savio629 @Ghat0tkach and keeping in mind @leecalcote points we can start with some mockup in figma.
@Ghat0tkach or @Savio629 do you guys want to try hands on?
Points to prepare a mockup:

Informataion of joining community with buttons for github(meshery), calendar,  and more important info from here Info
Some glimpse of newcomers meet would be good
And reference provided by Savio on issues to show

Are we going ahead with the mentioned points? @sudhanshutech

@Savio629 yes we can start with the mentioned points, lets have a mockup

@Savio629 yes we can start with the mentioned points, lets have a mockup

We have to create mockups as different components on figma for different devices. Right?

Yes @Ghat0tkach
Initially we'll have a mockup for desktop only. Once it looks good, we can go ahead with creating designs for smaller devices.

Yes @Ghat0tkach Initially we'll have a mockup for desktop only. Once it looks good, we can go ahead with creating designs for smaller devices.
Thanks for the guidance @Savio629  , currently a newbie in figma will create my mockups by this weekend.

@sudhanshutech We can also add the general flow of contributions .

About the projects
Flow of contribution (clone the repo etc.)
If stuck anywhere, where to go for help
Curate all the necessary resource (as @leecalcote mentioned )
e.g. join-the-meshery-community, calendar etc.
we can also add some blogs realted to the contributor

hey @sudhanshutech  , herei s my figma link for newcomer's meeting. First time using figma , was definately a hassle . Need your feedbacks to improve 🙌

Thank you every one we have a mockup up for the page so lets close this one and open another issue for that:
Figma mockup


Button click is not working

I have added a dynamic layout with n number of buttons in horizontal scroll view,after swipe on any side the horizontal scrollable buttons are visible in back layout,on click of the buttons visible it is working fine after scrolling the horizontal scroll view sometimes button click is working and sometimes it is not working.But that will work after again bringing back the front view started swiping action and again swipes to view the back view.

Hello,
As written in the README this library is deprecated, and will not receive any new development. Feel free to fork it and do your own modifications.
BR.


Translatable: Use of composite primary key in translation entity

I have an entity:
StructureA with properties:
id
property1
property2
and second entity:
StructureAI18n with properties:
property3 PK
id PK linked to id in StructureA
property4
The question is if it's possible to use composite primary key in translation entity? Doctrine throws mapping exception.
Some clarification: in entity StructureA I want to store properties which I do not want to translate. In entity StructureAI18n there are properties which will be translated. Methods getTranslationEntityClass and getTranslatableEntityClass are overriden globally by defining custom traits (as described in the docs). Property3 and id in StructureAI18n both make composite primary key. When I try to persist entity into database the following error is thrown: Doctrine\ORM\Mapping\MappingException: Single id is not allowed on composite primary key in entity Path\To\StructureAI18n.

that's a good question! I never tried to use it with composite keys.
I would advise you to try to do the mapping manually for now.
Instead of using the default mapping (https://github.com/KnpLabs/DoctrineBehaviors/blob/master/src/ORM/Translatable/TranslatableSubscriber.php#L96), you define it yourself.
Maybe the subscriber won't let you, so you might have to disable it in order to test.


RTCP enabled ~369 packets/sec sent towards source

We experience a flood of RTCP packages towards the source.
We can disable it manually with the noRTCP = true flag, but we'd like to enable RTCP for data collection.
Some sources (RTSP-sources) are actually crashing because of the flood of RTCP packets.

Heres the Wireshark output from two frames that repeat over and over:

Frame 819

Frame 819: 124 bytes on wire (992 bits), 124 bytes captured (992 bits)
Linux cooked capture v1
Internet Protocol Version 4, Src: <IP_ADDRESS>, Dst: <IP_ADDRESS>
User Datagram Protocol, Src Port: 25233, Dst Port: 5207
Real-time Transport Control Protocol (Receiver Report)
Real-time Transport Control Protocol (Source description)
    10.. .... = Version: RFC 1889 Version (2)
    ..0. .... = Padding: False
    ...0 0001 = Source count: 1
    Packet type: Source description (202)
    Length: 6 (28 bytes)
    Chunk 1, SSRC/CSRC 0x46736CB5
        Identifier: 0x46736cb5<PHONE_NUMBER>)
        SDES items
            Type: CNAME (user and domain) (1)
            Length: 17
            Text: default@localhost
            Type: END (0)
Real-time Transport Control Protocol (Generic RTP Feedback): TMMBR: 118261*2^5
    10.. .... = Version: RFC 1889 Version (2)
    ..0. .... = Padding: False
    ...0 0011 = RTCP Feedback message type (FMT): Temporary Maximum Media Stream Bit Rate Request (TMMBR) (3)
    Packet type: Generic RTP Feedback (205)
    Length: 4 (20 bytes)
    Sender SSRC: 0x46736cb5<PHONE_NUMBER>)
    Media source SSRC: 0x9244d62d<PHONE_NUMBER>)
    TMMBR 1
        SSRC: 0x9244d62d<PHONE_NUMBER>)
        0001 01.. = MxTBR Exp: 5
        .... .... .... ..11 1001 1011 1110 101. = MxTBR Mantissa: 118261
        Maximum total media bit rate: 118261*2^5
        .... ...0 0000 0000 = Measured Overhead: 0
Real-time Transport Control Protocol (Payload-specific Feedback): REMB: max bitrate=3784352
    10.. .... = Version: RFC 1889 Version (2)
    ..0. .... = Padding: False
    ...0 1111 = RTCP Feedback message type (FMT): Application Layer Feedback (15)
    Packet type: Payload-specific Feedback (206)
    Length: 5 (24 bytes)
    Sender SSRC: 0x46736cb5<PHONE_NUMBER>)
    Media source SSRC: 0x00000000 (0)
    REMB 0
        Unique Identifier: REMB
        0000 0001 = Number of Ssrcs: 1
        0001 00.. = BR Exp: 4
        .... .... .... ..11 1001 1011 1110 1010 = Br Mantissa: 236522
        Maximum bit rate: 3784352
        SSRC: 0x9244d62d<PHONE_NUMBER>)
    [RTCP frame length check: OK - 80 bytes]

Frame 822
Frame 822: 124 bytes on wire (992 bits), 124 bytes captured (992 bits)
Linux cooked capture v1
Internet Protocol Version 4, Src: <IP_ADDRESS>, Dst: <IP_ADDRESS>
User Datagram Protocol, Src Port: 25233, Dst Port: 5207
Real-time Transport Control Protocol (Receiver Report)
Real-time Transport Control Protocol (Source description)
    10.. .... = Version: RFC 1889 Version (2)
    ..0. .... = Padding: False
    ...0 0001 = Source count: 1
    Packet type: Source description (202)
    Length: 6 (28 bytes)
    Chunk 1, SSRC/CSRC 0x46736CB5
        Identifier: 0x46736cb5<PHONE_NUMBER>)
        SDES items
            Type: CNAME (user and domain) (1)
            Length: 17
            Text: default@localhost
            Type: END (0)
Real-time Transport Control Protocol (Generic RTP Feedback): TMMBR: 118261*2^5
    10.. .... = Version: RFC 1889 Version (2)
    ..0. .... = Padding: False
    ...0 0011 = RTCP Feedback message type (FMT): Temporary Maximum Media Stream Bit Rate Request (TMMBR) (3)
    Packet type: Generic RTP Feedback (205)
    Length: 4 (20 bytes)
    Sender SSRC: 0x46736cb5<PHONE_NUMBER>)
    Media source SSRC: 0x9244d62d<PHONE_NUMBER>)
    TMMBR 1
        SSRC: 0x9244d62d<PHONE_NUMBER>)
        0001 01.. = MxTBR Exp: 5
        .... .... .... ..11 1001 1011 1110 101. = MxTBR Mantissa: 118261
        Maximum total media bit rate: 118261*2^5
        .... ...0 0000 0000 = Measured Overhead: 0
Real-time Transport Control Protocol (Payload-specific Feedback): REMB: max bitrate=3784352
    10.. .... = Version: RFC 1889 Version (2)
    ..0. .... = Padding: False
    ...0 1111 = RTCP Feedback message type (FMT): Application Layer Feedback (15)
    Packet type: Payload-specific Feedback (206)
    Length: 5 (24 bytes)
    Sender SSRC: 0x46736cb5<PHONE_NUMBER>)
    Media source SSRC: 0x00000000 (0)
    REMB 0
        Unique Identifier: REMB
        0000 0001 = Number of Ssrcs: 1
        0001 00.. = BR Exp: 4
        .... .... .... ..11 1001 1011 1110 1010 = Br Mantissa: 236522
        Maximum bit rate: 3784352
        SSRC: 0x9244d62d<PHONE_NUMBER>)
    [RTCP frame length check: OK - 80 bytes]

Here is our current LocalCapabilities on the MediaServer side, if this is affecting any of the RTCP packets:
module.exports = {
	audio: {
		codecs    : ["opus"],
		extensions: [
			"urn:ietf:params:rtp-hdrext:ssrc-audio-level",
			"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01",
		],
	},
	video: {
		codecs    : ["h264;packetization-mode=1"],
		rtx       : true,
		rtcpfbs   : [{ id: "ccm", params: ["fir"] }, { id: "nack" }, { id: "nack", params: ["pli"] }],
		extensions: [
			"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time",
			"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id",
			"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id",
			"urn:ietf:params:rtp-hdrext:sdes:mid",
		],
		simulcast: true,
	},
};

And RTSP SDP info:

//Minimal sdp
const rtspSdpInfo = SemanticSDP.SDPInfo.expand({
	version: 0,
	medias : [
		{
			id       : "0",
			type     : "video",
			direction: "sendrecv",
			codecs   : [
				{
					codec : "H264",
					type  : 96,
					params: {
						"packetization-mode": "1",
					},
				},
			],
			control: "trackID=1",
		},
	],
});

try disabling REMB when creating the transport: https://github.com/medooze/media-server-node/blob/710b71951c26adf0a4dacfc5a429b35c47e43873/lib/Endpoint.js#L38C25-L38C36

We currently do not utilize createTransport from what I can see the code , but through a Viewer class and TransactionManager. Not sure how to
It's the implementation of the medooze in a previous project you contributed to (PMS) which you have access to through Bitbucket.

Viewer.js
MediaServer.js

//Create new transaction manager
const tm = new TransactionManager(connection);

//Create new managed peerconnection server for this
const mngr = this.endpoint.createPeerConnectionServer(tm, LocalCapabilities);

//Create viewer
const viewer = new Viewer(String(this.maxId++), mngr, connection.remoteAddress);

Here's a dump of the Viewer.js

Viewer.js
const Emitter = require("./Emitter");
const Logger = require("./Logger");
const Tools = require("./Tools");
const Path = require("path");
const Config = require("config");
const REC_FOLDER = Config.get("recording.path");
const MAX_DUMP_TIMEOUT = Config.get("recording.maxDumpTimeout") * 1000; // ms to sec

const { getFileDateString } = require("./Tools");

class Viewer extends Emitter
{
	constructor(id, mngr, viewerIP)
	{
		//Init emitter
		super();

		//Store attributes
		this.id = id;
		this.mngr = mngr;

		//Store viewer IP address for the API
		this.viewerIP = Tools.showOnlyIP(viewerIP);

		//Current outpgoing tracks
		this.tracks = new Map();

		this.transportQueue = {};

		//Listen for tranport
		this.mngr.on("transport", (transport) =>
		{
			// PATCH: ASSUMPTION this.mngr.count - 1 always is data.pcId on "cmd"
			// This is a workaround for fast concurrent connections highjacking the same transport
			// Thus, used for the method createOutgoingVideoTrackForCam

			// TODO/NOTE: Since this.transport will work on the rest of the methods here, they still use the legacy "this.transport" as reference.

			this.transportQueue[this.mngr.count - 1] = transport;

			// default
			this.transport = transport;

			this.logger.debug("Got transport");
		});

		this.mngr.on("stopped", () =>
		{
			this.logger.debug("transport stopped");
		});

		//Create new logger
		this.logger = new Logger("Viewer[" + id + "]");

		//Debug
		this.logger.debug("Started");
	}

	getId()
	{
		return this.id;
	}

	getViewerIP()
	{
		return this.viewerIP;
	}

	getTracks()
	{
		return this.tracks;
	}

	getAccumulatedBitrate()
	{
		let bitrate = 0;

		//For all tracks
		for (const [id, track] of this.tracks)
		{
			//Get stats
			const stats = track.getStats();
			//Add bitrate
			bitrate += stats.media.bitrate + stats.rtx.bitrate;
		}

		//Done
		return bitrate;
	}

	getRelevantStats(trackId)
	{
		const track = this.tracks.get(trackId);
		const trackStats = track.getStats();

		const stats = Tools.extractRelevantViewerStats(trackStats);

		return stats;
	}

	getTracksIds()
	{
		return [...this.tracks.keys()];
	}

	getLocalCandidates()
	{
		return this.transport ? this.transport.getLocalCandidates() : [];
	}

	startTransportDump()
	{
		if (this.dumpIsActive)
		{
			this.logger.info("Aborting already active dump");
			return this.stopTransportDump();
		}

		// Get viewer-id
		const viewerId = this.getId();

		// Auto close if reaching timeout
		this.dumpIsActive = setTimeout(() =>
		{
			this.logger.info("Timeout reached. Stopping transport dump");
			this.stopTransportDump();
		}, MAX_DUMP_TIMEOUT);

		// Save filename and path for stop-dump method
		const filename = `viewer_${viewerId}_${getFileDateString()}.pcap`;
		this.dumpFilename = filename;

		const filePath = Path.join(REC_FOLDER, filename);
		this.dumpFilepath = filePath;

		// Start dump
		this.transport.dump(filePath);
		const timeoutMinutes = MAX_DUMP_TIMEOUT / (1000 * 60);

		this.logger.info("Started dumping for viewer: %s to file %s", viewerId, filePath);

		const result = `Started dump for viewer: ${viewerId}. Auto-timeout in ${timeoutMinutes} min`;

		return { result, filename, filePath };
	}

	stopTransportDump()
	{
		clearTimeout(this.dumpIsActive);
		this.dumpIsActive = null;

		// Stop dump
		this.transport.stopDump();
		const result = `Stopped transport dump for viewerId: ${this.getId()}, saved at ${this.dumpFilename}`;

		const filename = this.dumpFilename;
		const filePath = this.dumpFilepath;

		this.logger.info(result);
		return { result, filename, filePath };
	}

	createOutgoingVideoTrackForCam(cameraId, pcId)
	{
		//Debug
		this.logger.debug("createOutgoingVideoTrackForCam(%s)", cameraId);
		this.logger.debug("using peer-connection-id queue: pcId (%s)", pcId);

		const usedTransport = pcId !== undefined ? this.transportQueue[pcId] : this.transport;

		//Check if already present
		if (pcId && !usedTransport)
			//Error
			throw Error("Transport not ready, with peer-connection-id: " + pcId);

		//Check if already present
		// if (this.tracks.has(cameraId)) throw Error("Already viewing that camera");
		//Error

		//Create outgoing transport

		const outgoingVideoTrak = usedTransport.createOutgoingStreamTrack("video", { id: cameraId });

		//Add to tracks
		this.tracks.set(cameraId, outgoingVideoTrak);

		//Remove on stopped
		outgoingVideoTrak.once("stopped", () =>
		{
			//Remove from tracks
			this.tracks.delete(cameraId);
		});

		//Done
		return outgoingVideoTrak;
	}

	getOutgoingVideoTrackForCam(cameraId)
	{
		return this.tracks.get(cameraId);
	}

	close()
	{
		//If already closed
		if (!this.mngr)
			//Do nothing
			return;
		//Debug
		this.logger.debug("close()");

		// Stop any active dumps
		if (this.dumpIsActive)
		{
			this.stopTransportDump();
		}

		//For all tracks
		//Stop it
		for (const [id, track] of this.tracks) track.stop();

		//Emit
		this.emitter.emit("closed", this);

		//Stop peerconnection server
		this.mngr.stop();

		//Stop emitter
		super.stop();

		//Null
		this.mngr = null;
		this.transport = null;
		this.transportQueue = {};
		this.mediaServer = null;
		this.tracks = null;
	}
}

module.exports = Viewer;

try disabling REMB when creating the transport: https://github.com/medooze/media-server-node/blob/710b71951c26adf0a4dacfc5a429b35c47e43873/lib/Endpoint.js#L38C25-L38C36

It worked 🎉 Now RTCP packages are rolling as they should every ~5 sec.
However, the createTransport  inside PeerConnectionServer.js:L66 need to be able to read the options param too. Per now it only reads offer.
E.g. could we add something like this @murillo128 ? 🙏
	constructor(
		...
		/** @type {import("./Endpoint").CreateTransportOptions} */ options)
	{
		//Init emitter
		super();

		//Store stuff
		this.count = 0;
		this.endpoint = endpoint;
		this.capabilities = capabilities;
		this.options = options;
		this.tm = tm;

		....

		//LIsten for creation events
		this.ns.on("cmd",(cmd)=>{
			//Get command nme
			switch(cmd.name)
			{
				case "create" :
					//Process the sdp
					var offer = SDPInfo.expand(cmd.data);

					//Create an DTLS ICE transport in that enpoint
					const transport = this.endpoint.createTransport(offer, null, options);

yes, that would work.  could you send a PR?

yes, that would work.  could you send a PR?

I will later today. Any thoughts on why there is a massive production of REMB packets?

thanxs!

Need to re-open:
False positive. I clearly managed to test with some cache where noRTCP was active.
The disableREMB did not help.
RTCP packets are still being spammed back to the camera-source.


Will we open the index for REDSTONE-QA?

Very nice work! Do we have the plan to release the index for REDSTONE-QA?

Due to the loss of process files, we do not have the index corresponding to the QA data. We will be releasing the classifier weights soon, which we use to identify potential QA pairs.


Flesh out the "learn" section

Make sure we're not missing anything; give sub items to any that deserve it.

This is probably closable as well now.
Not sure if there's anything else you'd like to flesh out.


do_at_generic_first_appt and do_at_generic_first_appt_emergency should not be in core.Module (probably)

Re. the refactoring that happened in bd0a763. Some methods-submodule implementation details have leaked into the top-level  part of the package. I'd argue this is not desirable, and we have tried to maintain a separation between what we considered the framework proper and the epi/modelling details which sit in the methods subpackage.
Some fixes may as simple as renaming e.g. in population module, a simple renaming of s/patient/person/ may be enough to make it general-purpose again. I guess it's called Patient because it was introduced in the context of HealthSystem improvements.
The more undersirable changes, IMO, are the changes in core where we've pulled in the HSI appointment methods into core.Module. Can we discuss some alternative ways to adopt Will's improvements but in a way that maintains SoC.

Agree with changing 'patient' to person (or individual) in PatientDetails structure added in population module, as I think it would be good to flag this can be used to get a readonly view of individual properties in all modules not just health system.
With regards to changes in core - if you wanted to keep the do_at_generic_first_appt and do_at_generic_first_appt_emergency methods out of Module then we could maybe instead add them to a subclass of Module that all the modules needing to deal with generic first appointments then derive from? I do think having these as methods with a standardised interface is a significant improvement over the previous situation of each module implementing its own logic in a slightly different way though.

Subclassing Module will necessitate the need to filter for that particular subclass when running the generic appointments, since at present all the Modules registered with the simulation are bundled into a single dictionary.
But I like Matt's idea of a Module subclass regardless. Right now Module is used for both non-disease modules (Demography) and the disease ones, so having some distinction (and maybe two dicts per simulation to separate them) wouldn't be awful.

A mixin is also a nice way to extend functionality for those classes that need it. AppointmentsMixin ?


[Feature request] Zone areas

Hi, I'd like to first thank you for AutoHotPie as it has become one of my favorite tools in the most recent years.
One feature that I believe might make the use of radial menus even greater would be "zones". These zones refer to predetermined areas of a monitor/screen. When a pie key is first detected, the program checks which area of the zones your mouse was in and opens the dedicated pie menu connected to the zone. This option would essentially allow for one single pie key to open different radial menus based on the location of your mouse cursor.
To visualize this I am using the Microsoft program 'PowerToys' that has a feature(for window organizing) called 'Fancyzones'.

Having templates to quickly select would be nice, whether user customized or not. If customizable, the editor for zones might have zones with handles for dragging and assigned numbers/titles. The editor may resemble something like this:

Additionally, there is a question of implementation. The previous mentioned templates/editor shown all consisted of zones that are 'glued' together. In Fancyzones, this layout type is called a Grid type. However, there is also a Canvas type which allows for more window-like zones. They are not required to stick and more noteworthy have zones that can overlap. This may allow for zone templates like the one shown below:

I don't know the difficulty of implementing this but I think it would be a neat and useful feature. Regardless, thanks!

This is a good idea to address the limitation of AHP to integrate directly with applications.  I do have a plan to address this, however probably not directly in this bit of software.  My plan is to make a PieMenu AHK class type that users can use in their own AHK scripts (#44).  With this, users could add that kind of zone contexts to pie menus directly in AHK.
So I don't want to add this feature to the AHP app just because it would be kind of jank, and would just be difficult to implement in a user-friendly way.  When I make the PieMenu AHK class type, I'll be sure to include how to set up this kind of functionality, considering this would be a good example of why someone should use it.  So I'm going to close this for now, but I will at least address it later.
Happy you like my circle software thing! :D

whats the use case for this? if you are using fancyzones and have dedicated apps in each slot, then the app specific profile menu should account for this

I just used fancyzones to demonstrate the grid ui but the functionality I'm proposing is not related to fancyzones. The purpose would make it so that you could use the same hotkey for different pie menus with the condition being dependent on where your mouse cursor is.
For example, imagine the following on a typical adobe program:

Zone 1: Could be used for a pie dedicated to effects (exposure, contrast, lighting, etc.)
Zone 2: Could be used for a pie dedicated to tools (brush, pencil, bucket, gradient tool, etc.)
Zone 3: Could be used for a pie dedicated to canvas control (rotate, size change, crop, etc.)
Essentially this would be a way to have more pie slices/functions without needing to:

Go into more child folders(pie menus).
and/or
Make your pie menus have a lot of slices which is not desirable as it gets cramped and makes muscle memory much much more difficult.

in that example above with 3 zones, youre saying one single application takes up that entire area? and you want to break up that single app into 3 diff zones for diff menus?
i think that feature is a lot of work, especially building an editor to allow the user to create these zones. the functionality is doable yourself if you wanted to do some ahk scripting

Yup, one application.
The editor isn't really necessary, more for convenience. There could be text inputs for x1, x2, y1, y2 coordinates to tell Autohotpie where the zone should be. It is possible via autohotkey as you say. It'd ,however, be better if this feature was built-into Autohotpie because making a separate ahk script would have the big disadvantage of needing to use up multiple shortcut keys to interact with autohotpie to simulate this behavior(at least that's the only way I could see it being done).

This is now possible, see PR #143 for instructions on how to test


[ MUI Website ] Material Icons in Search Bar is redirecting to Icons but not Material Icons

Works as expected, can't repro.


[FLINK-12805][FLINK-12808][FLINK-12809][table-api] Introduce PartitionableTableSource and PartitionableTableSink and OverwritableTableSink

What is the purpose of the change
Introduce PartitionableTableSource for partition pruning, and introduce OverwritableTableSink for supporting insert overwrite, and introduce PartitionableTableSink for support writing data into partitions.
All of them are only supported in Blink planner in the first version.
Brief change log
This pull request only contains the three interface. We didn't include any implementations because:

OverwritableTableSink depends on the INSERT OVERWRITE syntax.
PartitionableTableSink depends on the INSERT PARTITION syntax.
PartitionableTableSource depends on the filter pushdown optimization implementation in Blink planner.

Verifying this change
N/A
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

split to 3 commits?

Sure @KurtYoung , I have split into 3 commits.

Hi @twalthr @aljoscha , do you have time to review the source sink interfaces for Hive functionality?

Hi @aljoscha @godfreyhe , I have updated this PR with following changes:
Changes to PartitionableTableSink:

Rename getPartitionKeys to getPartitionFieldNames
Remove setStaticPartitions(Map<String, String> partitions) method

Because partition fields are part of the schema, table sink doesn't need to know the specific static partition, it can be get from records.

Change boolean sortLocalPartition() method to boolean requiresSortByPartition(boolean supportSort)

Changes to PartitionableTableSource:

Rename getAllPartitions to getPartitions
Rename getPartitionKeys to getPartitionFieldNames
Remove boolean isPartitionPruned() method

Because partition fields are part of the schema, table sink doesn't need to know the specific static partition, it can be get from records.

Table sink can tell which columns are partition columns in a record. But without setStaticPartitions , how can it know which partition columns are static and which are dynamic?

After discussed with @lirui-apache offline, I think it make sense to let sink know what's the static partition part. Then the sink will have some optimization when it's not a dynamic partition inserting. So I add back the setStaticPartition. Could you have a look again @lirui-apache ?

Thanks @wuchong for updating. LGTM now.

LGTM

Hi @aljoscha , do you have time to have a look again?

I'll have another look 👌

Merged with

6e4805673739fa1f8e85389d38ef6f3de20fc005
fb111ef22b8f87dd25e61160678fc8857dffcfe0
c3f2ad8c8c10097dc7f680ccdf2e9b99babc349c


[README] Add some explanation

Update prerequisite
Propose GIAG Build Environment
Make example section

Signed-off-by: Jihoon Lee<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.4.20191203. Thank you for submitting PR #58. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ec2-54-180-96-14.ap-northeast-2.compute.amazonaws.com/.

INFO: You can read if there are misspelled characters at our misspelling check report. Please read http://ec2-54-180-96-14.ap-northeast-2.compute.amazonaws.com/nntrainer/ci/repo-workers/pr-checker/58-202004271706150.872309923172-37d80e98393c3f9b2bee17a7319250a5d6b8303e/report/misspelling_result.txt.


[BUG] imperativeModeOnly not working as expected

Discussed in https://github.com/ReactTooltip/react-tooltip/discussions/1225

Originally posted by GabrielMAraujo September  6, 2024
Hi,
I've been trying to do a custom implementation of the tooltip that requires me to open and close the tooltip programmatically, and it also must not close the tooltip when the mouse hovers out the anchor div.
I read in the docs that the imperativeModeOnly prop should suffice in this case, but I tried to use it and it seems like it's not working.
I made an example in CodeSandbox that shows this behavior (it should open the tooltip and never close it): https://codesandbox.io/p/sandbox/tooltip-forked-gf82hl
Am I doing something wrong, or is this a bug?

Seems to be a bug with the imperativeModeOnly prop.
For now, manually clearing the events objects seems to work.
<Tooltip
  content="Hello world!"
  imperativeModeOnly={true}
  openEvents={{}}
  closeEvents={{}}
  globalCloseEvents={{}}
  ref={tooltipRef}
/>

I ran into a similar problem but I also have clickable=true because of the inclusion of buttons in the tooltip content. A workaround for me was settting an openEvents prop to true to prevent the tip from automatically dismissing on a mouseleave event.
openEvents={{
  dblclick: true,
}}

I believe the problem could be attributed to this code here:
https://github.com/ReactTooltip/react-tooltip/blob/08bfc6f17789d9f06f10bc90a58d34521d5178de/src/components/Tooltip/Tooltip.tsx#L584-L589
Does the line need to consider imperative mode as well?
(clickable && !hasClickEvent && !imperativeModeOnly)

I ran into a similar problem but I also have clickable=true because of the inclusion of buttons in the tooltip content. A workaround for me was settting an openEvents prop to true to prevent the tip from automatically dismissing on a mouseleave event.
openEvents={{
  dblclick: true,
}}

I believe the problem could be attributed to this code here:
https://github.com/ReactTooltip/react-tooltip/blob/08bfc6f17789d9f06f10bc90a58d34521d5178de/src/components/Tooltip/Tooltip.tsx#L584-L589
Does the line need to consider imperative mode as well?
(clickable && !hasClickEvent && !imperativeModeOnly)

Thanks for the clever workaround !