Unable to load external custom plugins via ~/.sonar/config.json

I created a custom plugin following the instructions here: https://fbsonar.com/docs/js-setup.html
My index.js looks like the following:
import {SonarPlugin} from 'sonar';

export default class extends SonarPlugin {
  static title = 'Sample';
  static id = 'Preferences';
  static icon = 'washing-machine';

  render() {
    return 'hello world';
  }
}

I put a reference to this project's parent directory in ~/.sonar/config.json, and when I run the Sonar app with yarn start, my terminal gets stuck in an endless loop and the Electron app hangs. My logs look like the following:
Looking for JS files in
   /Users/mevans/src/sonar-plugins/sample
   /Users/mevans/src/Sonar

Looking for JS files in
   /Users/mevans/src/sonar-plugins/sample
   /Users/mevans/src/Sonar

Looking for JS files in
   /Users/mevans/src/sonar-plugins/sample
   /Users/mevans/src/Sonar

Loading dependency graph...🕵  Detected changes in sonar-plugin-sampleplugin
⚙  Compiling sonar-plugin-sampleplugin...
🕵  Detected changes in sonar-plugin-sampleplugin
⚙  Compiling sonar-plugin-sampleplugin...
🕵  Detected changes in sonar-plugin-sampleplugin
⚙  Compiling sonar-plugin-sampleplugin...
Looking for JS files in
   /Users/mevans/src/sonar-plugins/sample
   /Users/mevans/src/Sonar

Looking for JS files in
   /Users/mevans/src/sonar-plugins/sample
   /Users/mevans/src/Sonar

Loading dependency graph...🕵  Detected changes in sonar-plugin-sampleplugin
⚙  Compiling sonar-plugin-sampleplugin...
Looking for JS files in
   /Users/mevans/src/sonar-plugins/sample
   /Users/mevans/src/Sonar

Looking for JS files in
   /Users/mevans/src/sonar-plugins/sample
   /Users/mevans/src/Sonar

Looking for JS files in
   /Users/mevans/src/sonar-plugins/sample
   /Users/mevans/src/Sonar

Loading dependency graph...🕵  Detected changes in sonar-plugin-sampleplugin
⚙  Compiling sonar-plugin-sampleplugin...
🕵  Detected changes in sonar-plugin-sampleplugin
⚙  Compiling sonar-plugin-sampleplugin...
🕵  Detected changes in sonar-plugin-sampleplugin
⚙  Compiling sonar-plugin-sampleplugin...
🕵  Detected changes in sonar-plugin-sampleplugin
⚙  Compiling sonar-plugin-sampleplugin...
Looking for JS files in
   /Users/mevans/src/sonar-plugins/sample
   /Users/mevans/src/Sonar

Loading dependency graph...🕵  Detected changes in sonar-plugin-sampleplugin
⚙  Compiling sonar-plugin-sampleplugin...
🕵  Detected changes in sonar-plugin-sampleplugin
⚙  Compiling sonar-plugin-sampleplugin...
🕵  Detected changes in sonar-plugin-sampleplugin
⚙  Compiling sonar-plugin-sampleplugin...
🕵  Detected changes in sonar-plugin-sampleplugin
⚙  Compiling sonar-plugin-sampleplugin...
🕵  Detected changes in sonar-plugin-sampleplugin
⚙  Compiling sonar-plugin-sampleplugin...
🕵  Detected changes in sonar-plugin-sampleplugin
⚙  Compiling sonar-plugin-sampleplugin...
🕵  Detected changes in sonar-plugin-sampleplugin
⚙  Compiling sonar-plugin-sampleplugin...
🕵  Detected changes in sonar-plugin-sampleplugin
⚙  Compiling sonar-plugin-sampleplugin...

However, if I put the exact same plugin into src/plugins/, running yarn start runs the app successfully and the plugin is loaded properly.
I unfortunately don't know a lot about Yarn and the Javascript in general, but I'd be glad to help debug the best I can!

@danielbuechele

I found one bug, that ~ is not supported in the config path. I will fix this soon. Other than that I was not able to reproduce the endless loop. Can you post your folder structure?
Here is what worked for me:
~/.sonar/config.json
{
  "pluginPaths":["/Users/danielbuechele/Desktop/sonarplugins"],
  "disabledPlugins":[],
  "lastWindowPosition":{"x":556,"y":688,"width":962,"height":673}
}

This is the folder structure for my sonarplugins folder
└── sonarplugins/
    └── sonar-plugin-sampleplugin
        ├── index.js
        └── package.json

I think I have a similar issue.
This is my index.js
import { SonarPlugin } from 'sonar';

export default class extends SonarPlugin {
  static title = 'Katana';
  static id = 'Katana';
  static icon = 'washing-machine';

  render() {
    return 'hello world';
  }
}

and it is a folder named sonar-plugin-katana.
This is my config
{
   "pluginPaths":[
      "/Users/maurobolis/Desktop"
   ],
   "disabledPlugins":[

   ],
   "lastWindowPosition":{
      "x":0,
      "y":23,
      "width":1440,
      "height":820
   }
}

And this is my swift plugin
class Plugin: NSObject, SonarPlugin {
  func identifier() -> String! {
    return "Katana"
  }

  func didConnect(_ connection: SonarConnection!) {

  }

  func didDisconnect() {

  }
}

For some reasons the plugin is not loaded.
Moreover, if I run the ios test app in the simulator and then run sonar two things happen:
First, I sonar get stuck and this error is shown in the dev console
bundle.js:3126 Uncaught (in promise) Error: expected plugin
    at invariant (bundle.js:3126)
    at Object.ActivatePlugin (bundle.js:90693)
    at App.setState.state (bundle.js:50627)
    at Pf (bundle.js:7420)
    at Qf (bundle.js:7442)
    at Kg (bundle.js:8219)
    at th (bundle.js:8861)
    at uh (bundle.js:8876)
    at Rh (bundle.js:9134)
    at Uh (bundle.js:9093)
    at Sh (bundle.js:9087)
    at wh (bundle.js:9046)
    at kg (bundle.js:8974)
    at Object.enqueueSetState (bundle.js:7583)
    at App.F.setState (bundle.js:530)
    at Server.server.addListener (bundle.js:50683)

Moreover, the config file is rewritten with a wrong plugin path
{
   "pluginPaths":[
      "pluginPaths /Users/maurobolis/Desktop"
   ],
   "disabledPlugins":[

   ],
   "lastWindowPosition":{
      "x":0,
      "y":23,
      "width":1440,
      "height":820
   }
}

I'm the only one with this problem? I want to start to develop an extension but it is almost impossible as the plugin is not recognized

Can you try to execute JSON.parse(process.env.PLUGINS) in the console in Chrome dev tools in Sonar? The plugin loaded from the path should be listed there.

It is empty..
What I've done now is to use the Objc example instead of the swift one.
Now what happens is that when I open Sonar it remains stuck at the launch phase (that is, the icon is in the dock but no window is created).
Is as it is stuck loading the plugin somehow..
Is there a way to see a log and understand what's happening?

If I run the dev version (master) I see
🥫  Using cached version of sonar-plugin-katana...

but also
watchman watch-del-all 🥫  Using cached version of sonar-plugin-katana... Loading dependency graph, done.
❌  Plugin sonar is ignored, because it could not be compiled.
{ Error: Unable to resolve module `react-redux` from `/Users/maurobolis/Desktop/sonar-test/Sonar/src/chrome/SonarSidebar.js`: Module does not exist in the module map

and the app doesn't start

If I compile the app from master I get instead
yarn build --mac rm -rf /tmp/metro-bundler-cache-* Loading dependency graph...✔ No known errors
🕵  Watching for plugin changes
⚙  Compiling sonar...
🥫  Using cached version of sonar-plugin-katana...
⚙  Compiling sonar-plugin-layout...
⚙  Compiling sonar-plugin-network...
⚙  Compiling sonar-plugin-sandbox...
⚙  Compiling sonar-plugin-sharedpreferences...

but then
yarn build --mac rm -rf /tmp/metro-bundler-cache-* Loading dependency graph...✔ No known errors
🕵  Watching for plugin changes
⚙  Compiling sonar...
🥫  Using cached version of sonar-plugin-katana...
⚙  Compiling sonar-plugin-layout...
⚙  Compiling sonar-plugin-network...
⚙  Compiling sonar-plugin-sandbox...
⚙  Compiling sonar-plugin-sharedpreferences... Loading dependency graph...❌  Plugin sonar is ignored, because it could not be compiled.
{ Error: Unable to resolve module `invariant` from `/Users/maurobolis/Desktop/sonar-test/Sonar/src/plugin.js`: Module does not exist in the module map

For getting logs from the compiled app, you can launch it from the terminal using: /Applications/Sonar.app/Contents/MacOS/Sonar
Ok, cool this helps to debug. Now we know what's going on, I see if I can reproduce this.

IT48K0306920407100000060868  ~/Desktop/sonar-test  ./Sonar.app/Contents/MacOS/Sonar
🕵  Watching for plugin changes
⚙  Compiling sonar...
🥫  Using cached version of sonar-plugin-katana...
Looking for JS files in
   /Users/maurobolis/Desktop/sonar-test/Sonar
   /Users/maurobolis/Desktop/sonar-test/Sonar.app/Contents/Resources

Loading dependency graph, done.
Loading dependency graph...❌  Plugin sonar is ignored, because it could not be compiled.
{ Error: Unable to resolve module `react` from `/Users/maurobolis/Desktop/sonar-test/Sonar/src/ui/styled/index.js`: Module does not exist in the module map

This might be related to https://github.com/facebook/react-native/issues/4968
To resolve try the following:
  1. Clear watchman watches: `watchman watch-del-all`.
  2. Delete the `node_modules` folder: `rm -rf node_modules && npm install`.
  3. Reset Metro Bundler cache: `rm -rf /tmp/metro-bundler-cache-*` or `npm start -- --reset-cache`.  4. Remove haste cache: `rm -rf /tmp/haste-map-react-native-packager-*`.
    at ModuleResolver.resolveDependency (/Users/maurobolis/Desktop/sonar-test/Sonar.app/Contents/Resources/app.asar/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:158:1476)
    at ResolutionRequest.resolveDependency (/Users/maurobolis/Desktop/sonar-test/Sonar.app/Contents/Resources/app.asar/node_modules/metro/src/node-haste/DependencyGraph/ResolutionRequest.js:92:16)
    at DependencyGraph.resolveDependency (/Users/maurobolis/Desktop/sonar-test/Sonar.app/Contents/Resources/app.asar/node_modules/metro/src/node-haste/DependencyGraph.js:271:4465)
    at dependencies.map.relativePath (/Users/maurobolis/Desktop/sonar-test/Sonar.app/Contents/Resources/app.asar/node_modules/metro/src/DeltaBundler/traverseDependencies.js:379:19)
    at Array.map (<anonymous>)
    at resolveDependencies (/Users/maurobolis/Desktop/sonar-test/Sonar.app/Contents/Resources/app.asar/node_modules/metro/src/DeltaBundler/traverseDependencies.js:378:16)
    at /Users/maurobolis/Desktop/sonar-test/Sonar.app/Contents/Resources/app.asar/node_modules/metro/src/DeltaBundler/traverseDependencies.js:203:33
    at Generator.next (<anonymous>)
    at step (/Users/maurobolis/Desktop/sonar-test/Sonar.app/Contents/Resources/app.asar/node_modules/metro/src/DeltaBundler/traverseDependencies.js:296:307)
    at /Users/maurobolis/Desktop/sonar-test/Sonar.app/Contents/Resources/app.asar/node_modules/metro/src/DeltaBundler/traverseDependencies.js:296:467
  originModulePath: '/Users/maurobolis/Desktop/sonar-test/Sonar/src/ui/styled/index.js',
  targetModuleName: 'react',
  message: 'Unable to resolve module `react` from `/Users/maurobolis/Desktop/sonar-test/Sonar/src/ui/styled/index.js`: Module does not exist in the module map\n\nThis might be related to https://github.com/facebook/react-native/issues/4968\nTo resolve try the following:\n  1. Clear watchman watches: `watchman watch-del-all`.\n  2. Delete the `node_modules` folder: `rm -rf node_modules && npm install`.\n  3. Reset Metro Bundler cache: `rm -rf /tmp/metro-bundler-cache-*` or `npm start -- --reset-cache`.  4. Remove haste cache: `rm -rf /tmp/haste-map-react-native-packager-*`.' }
^C%  ~/Desktop  ./Sonar.app/Contents/MacOS/Sonar
🕵  Watching for plugin changes
⚙  Compiling sonar...
🥫  Using cached version of sonar-plugin-katana...
Looking for JS files in
   /Users/maurobolis/Desktop/sonar-test/Sonar
   /Users/maurobolis/Desktop/Sonar.app/Contents/Resources

Loading dependency graph, done.
❌  Plugin sonar is ignored, because it could not be compiled.
{ Error: Unable to resolve module `react-redux` from `/Users/maurobolis/Desktop/sonar-test/Sonar/src/chrome/SonarSidebar.js`: Module does not exist in the module map

This might be related to https://github.com/facebook/react-native/issues/4968
To resolve try the following:
  1. Clear watchman watches: `watchman watch-del-all`.
  2. Delete the `node_modules` folder: `rm -rf node_modules && npm install`.
  3. Reset Metro Bundler cache: `rm -rf /tmp/metro-bundler-cache-*` or `npm start -- --reset-cache`.  4. Remove haste cache: `rm -rf /tmp/haste-map-react-native-packager-*`.
    at ModuleResolver.resolveDependency (/Users/maurobolis/Desktop/Sonar.app/Contents/Resources/app.asar/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:158:1476)
    at ResolutionRequest.resolveDependency (/Users/maurobolis/Desktop/Sonar.app/Contents/Resources/app.asar/node_modules/metro/src/node-haste/DependencyGraph/ResolutionRequest.js:92:16)
    at DependencyGraph.resolveDependency (/Users/maurobolis/Desktop/Sonar.app/Contents/Resources/app.asar/node_modules/metro/src/node-haste/DependencyGraph.js:271:4465)
    at dependencies.map.relativePath (/Users/maurobolis/Desktop/Sonar.app/Contents/Resources/app.asar/node_modules/metro/src/DeltaBundler/traverseDependencies.js:379:19)
    at Array.map (<anonymous>)
    at resolveDependencies (/Users/maurobolis/Desktop/Sonar.app/Contents/Resources/app.asar/node_modules/metro/src/DeltaBundler/traverseDependencies.js:378:16)
    at /Users/maurobolis/Desktop/Sonar.app/Contents/Resources/app.asar/node_modules/metro/src/DeltaBundler/traverseDependencies.js:203:33
    at Generator.next (<anonymous>)
    at step (/Users/maurobolis/Desktop/Sonar.app/Contents/Resources/app.asar/node_modules/metro/src/DeltaBundler/traverseDependencies.js:296:307)
    at /Users/maurobolis/Desktop/Sonar.app/Contents/Resources/app.asar/node_modules/metro/src/DeltaBundler/traverseDependencies.js:296:467
  originModulePath: '/Users/maurobolis/Desktop/sonar-test/Sonar/src/chrome/SonarSidebar.js',
  targetModuleName: 'react-redux',
  message: 'Unable to resolve module `react-redux` from `/Users/maurobolis/Desktop/sonar-test/Sonar/src/chrome/SonarSidebar.js`: Module does not exist in the module map\n\nThis might be related to https://github.com/facebook/react-native/issues/4968\nTo resolve try the following:\n  1. Clear watchman watches: `watchman watch-del-all`.\n  2. Delete the `node_modules` folder: `rm -rf node_modules && npm install`.\n  3. Reset Metro Bundler cache: `rm -rf /tmp/metro-bundler-cache-*` or `npm start -- --reset-cache`.  4. Remove haste cache: `rm -rf /tmp/haste-map-react-native-packager-*`.' }

This is what the console says if I try to launch sonar with the plugin folder properly sat.
If I change the plugin folder, then everything works properly
The plugin is located in Users/maurobolis/Desktop/sonar-test/sonar-plugin-katana and the .config points to Users/maurobolis/Desktop/sonar-test.
It seems like the plugin is triggering some import that doens't exist

@danielbuechele here is the screenshot

@danielbuechele here is the screenshot

i am able see to "DemoPlugin" in plugin list but its not loading

I still haven't found a way to make it work. It looks like I'm missing something but I can't figure out what

I've been able to make a custom plugin work (with the master desktop app running via yarn start) - one thing I noticed is that the desktop app tends to overwrite ~/.sonar/config.json a lot, so it's best to edit it when the desktop app is closed.
Also, you need to specify the path to the parent directory in the config: e.g., if you have /my/path/to/sonar-plugins/my-plugin/index.js for your plugin, you'd want to specify /my/path/to/sonar-plugins in config.js.
@bolismauro do either of those things help?

I will try with master branch codebase. Last time I used the app I've downloaded from the website.
For the config path, I used the parent folder as you are suggesting.
Can you share the plugin (or a skeleton that works)? I start wondering If I'm doing something wrong there

I tried with the latest master and it still doesn't work.
I really think I'm doing something wrong js side. Looking at the yarn start log, the plugin is found but then nothing happens and app-side didConnect/didDisconnect are not even called

I eventually managed to make it work with the latest released version. I honestly have no idea why it works now, but it does

Closing this here as part of issue cleanup.


CMS search case sensitivity

Description
When using translated models, the index search field in the CMS is case-sensitive.
Expected result
When using translated models, the index search field in the CMS is case-insensitive.

Hey @joyceverheije are you on postgresql?
Might be related to https://github.com/Astrotomic/laravel-translatable/issues/17

Hey @haringsrob, yes I'm using postgresql, thanks for the link!


absolute_schema_path is incorrect for if/then constructs

I'm using jsonschema 3.2.0 for Python 2.7.14 and am seeing an error in the absolute_schema_path when an if/then construct is involved.
See sample code https://gist.github.com/jason-s/188c226e51f0982ab05538c2d6581c21
which outputs (on my machine) the following, including absolute_schema_path that starts with ['allOf', 0, 'if', 'then' --- the problem is that the if and then keys are at the same level; if we are trying to indicate the then branch, then if should not be in the absolute_schema_path
jsonschema version: 3.2.0
item1: success
item2: success
=====
item3: failure
message: 0 is not of type 'string'
path: ['color']
absolute_schema_path: ['allOf', 0, 'if', 'then', 'properties', 'color', 'type']
0 is not of type 'string'

Failed validating 'type' in schema['allOf'][0]['if']['then']['properties']['color']:
    {'type': 'string'}

On instance['color']:
    0
=====
item4: failure
message: Additional properties are not allowed ('zipcode' was unexpected)
path: []
absolute_schema_path: ['allOf', 0, 'if', 'then', 'additionalProperties']
Additional properties are not allowed ('zipcode' was unexpected)

Failed validating 'additionalProperties' in schema['allOf'][0]['if']['then']:
    {'additionalProperties': False,
     'properties': {'color': {'type': 'string'}, 'type': {'const': 'foo'}},
     'required': ['color'],
     'type': 'object'}

On instance:
    {'color': 'red', 'type': 'foo', 'zipcode': 12345}

my sample schema (in YAML form)
title: SCHEMA 1 (foo_node or bar_node)
$ref: '#/definitions/root_node'
$schema: http://json-schema.org/draft-07/schema#
definitions:
  bar_node:
    additionalProperties: false
    properties:
      type: {const: bar}
      flavor: {type: string}
    required: [flavor]
    type: object
  foo_node:
    additionalProperties: false
    properties:
      type: {const: foo}
      color: {type: string}
    required: [color]
    type: object
  root_node:
    allOf:
    - if:
        properties:
          type: {const: foo}
      then: {$ref: '#/definitions/foo_node'}
    - if:
        properties:
          type: {const: bar}
      then: {$ref: '#/definitions/bar_node'}
    properties:
      type:
        enum: [foo, bar]
    required: [type]

see https://github.com/Julian/jsonschema/blob/5e0fea13189bf118eadc8c812eed08f0751b8394/jsonschema/tests/test_validators.py#L1065 and https://github.com/Julian/jsonschema/blob/5e0fea13189bf118eadc8c812eed08f0751b8394/jsonschema/tests/test_validators.py#L1080 for tests that have the wrong expected outcome


Couchbase LITE Replication design(when network down and up / when Replication is stopped and started)?

Hi Folks,
Trying to understand this use case behaviour in Couchbase Lite and SGW.
1)Insert a big doci.e 10 mb, replication is ongoing and 5b is reached SGW.
2)Pull a big doci.e 10 mb, replication is ongoing and 5b is reached CBLite.
3)Now networks goes down and comes up or.
4)Replication is stopped and restarted.
On # 3 and # 4 what does replications module do?Does it
" Before it starts the transfer/Download does it do a full hash check to find out which parts of the file it needs to get/put.Hence not syncing available data?
Note:yet to analyse CBL logs or code work through.
Thanks
Nithin

Hi @NitzDKoder,
Current version of Couchbase Lite Android/Java does not support chunk (partial) download. It will retry from beginning.

@hideki thanks..any fix planned?

@nitzdkoder we will have some ways of addressing these kinds of scenarios in future releases. Not sure if it will make it into 1.3 though.


Simple version Swift

Made a mistake.

@damuellen You can squash your commits and reuse the same PR.

I guess that you wanted to write:
var counts = [String:Int]()

while let line = readLine() {
  let words = line.split { $0.isWhitespace }

  for word in words {
    let canon = word.lowercased()
    counts[canon, default: 0] += 1
  }
}

let ordered = counts.sorted { $0.1 > $1.1 }

ordered.forEach { entry in
  print(entry.key, entry.value.description)
}


Save resampled images into a folder structure indicating transformations

Redone from #4328.
If I should rename static functions in Filesystem.php to be lowercase, please let me know which version number to use for the Deprecation notice.

@tractorcow are you able to weigh in on this? I think I'm happy with it in principle

Your code is good. I think just a few unit tests so that we are confident on merging would help get this over the line. :)
For users upgrading to 3.3 you might want to add a note under "upgrading" as in 3.2 (which has a huge list of upgrading notes). https://docs.silverstripe.org/en/3.2/changelogs/3.2.0
Just something small like "by the way, your resampled files were <here> but are now <there>"

I actually got a bit confused while trying to check the 3.2 upgrade notes -- when I click on that link, I get redirected to ../#upgrading_notes !! Must be an issue with the base path on that docs domain or something. Thought I'd signal that :P
As for writing my own upgrade notes about this: there is no 04_Changelogs/3.3.0.md yet. Can I create it in this pull request?

Waiting for travis to finish.

Took me a while to get the new ImageTest working... because apparently the old regex (in 3.2 and lower) did not support multiple transformations! Probably because that was never required: I think it was only ever used for images that were resized in the CMS (which takes only 1 transformatin). So I left the testcase for multiple transformations out for those old formats, and left it in for the new format (because there, it does work).
Anyway, looks like there is still an issue... so still working on it. (for some reason I don't manage to get these errors on my own installation with dev/test/ImageTest)

Ah, well you're close. ;) Let me know when tests are ok.


[5.3] Add flag for select type of create controller

Add flag for select type of create controller (resource controller or no).

and here is the slippery slope we go down with that commit of mine.

Please implement my review comments.

i guess my personal opinion on this is to not merge.  my argument in the initial commit is we are going after 90% of the use cases. The 10% can use the dedicated command for their need.
The problem if we implement this is, now do we go and add options for the --table and --path options for making a migration?
You can see how this quickly becomes a tangle of code.
my 2 cents. thanks.

If I was going to have this flag I would just call it something like -r not -c_r

Though I do think this command has the potential to seriously bloat as noted.

@taylorotwell update . set -r flag


How to keep or specify ContentType of object to upload?

Mountpoint for Amazon S3 version
mount-s3 1.2.0
AWS Region
ap-northeast-1
Describe the running environment
Running in EC2 on Amazon Linux 2 using instance profile credentials against an S3 Bucket in the another account.
What happened?
I use S3 as a CloudFront backend for website hosting purposes.
Therefore, the html file placed in S3 must be displayed as a web page when accessed by a browser, but if placed via mount-s3, the ContentType will be binary/octet-stream, so the html file will be downloaded.
Is there any way to modify the ContentType of the object being uploaded to text/html?
[ec2-user@ip-10-0-54-13 ~]$ mount-s3 --version
mount-s3 1.2.0
[ec2-user@ip-10-0-54-13 ~]$ sudo mount-s3 mybucket /s3 --uid 900 --gid 900 --allow-other --log-directory /var/log/mounts3 --debug
[ec2-user@ip-10-0-54-13 ~]$ file --mime-type index.html
index.html: text/html
[ec2-user@ip-10-0-54-13 ~]$ sudo cp index.html /s3/b.html
[ec2-user@ip-10-0-54-13 ~]$ aws s3api head-object --bucket mybucket --key b.html --query ContentType
"binary/octet-stream"

This is probably the same behavior as #471 .
Relevant log output
No response

thanks for opening an issue @neko-kawaii-nyan. This is not something Mountpoint supports currently, we will be investigating if this is something we can support in the future. We are updating this to be a feature request.

Thank you for your reply.
Is there any additional information I should provide here for the feature request?

I have the same problem. .css file won't work on a web page because its content-type is binary/octet-stream. If mountpoint-s3 can automatically set the correct content-type when it uploads a file to the S3 bucket, would be great.

Hello,
just adding to the case as I get this same annoying "issue"...
A configuration option in mount-s3 to apply Mailcap mime-types when uploading to S3 would be very usefull

Perhaps extended attributes could somehow be leveraged to allow specifying content type (and perhaps other object metadata as well)? FUSE does support xattrs so it may be possible.
When uploading, the user would probably have to call sexattr on a new filesystem node after the file is created and opened for writing, and before writing any data, so that the attributes are all accessible to Mountpoint before it makes the first call to upload the object so it can include the desired headers.
It would be neat if the user.mime_type extended attribute defined by XDG were to be mapped automatically to object content type. If you were to use this for writes and exposed this extended attribute when reading as well, then file copies that preserve extended attributes would also preserve the S3 object content type.
For extra credit, other object metadata you could do an automatic header translation into an extended attribute namespace. For example, x-amz-meta-mykey could be exposed through Mountpoint as user.s3.x_amz_meta_mykey.

Interesting ideas @sagebind but I wonder if that approach would add too much friction for different programming environments and runtimes vs normal file APIs and automatic detection.  Maybe for advanced use cases.
IIRC, the AWS CLI does automatic mime-type detection (based on file extension?) and that would seem to me to be best starting place for Mountpoint as well.

Automatic content type detection wouldn't work for our particular use-case (though it would be a good addition overall), as one of the things we currently are using Mountpoint for is to enable piping files into our file processing stack. One such feature of the file processing stack is to detect the content type of a file using our own more advanced file identification suite, so we already know with great accuracy what the format of the file is. Any sort of auto-detection would likely be a downgrade of the information our code already knows.
For files where it is important for the content type set in S3 to be accurate, we're currently not using Mountpoint and instead writing the output of the processing stack to a temporary file, then using the S3 SDK to upload the file using the known content type. If Mountpoint allowed us to explicitly specify the content type through the file system somehow, that would allow us to bypass that step and allow the file processing to stream its result into S3 directly via Mountpoint.

Hey everyone, any news related to this issue?
We are facing this same problem when using EKS Pod + S3 CSI Driver + Mountpoint. A report app generates some html+css files that is output in the mountpoint, which are sent the S3 bucket. But in the bucket, metadate are all set as "binary/octet-stream", making the browser downloads the index.html file instead of rendering it.

"This is not something Mountpoint supports currently, we will be investigating if this is something we can support in the future. We are updating this to be a feature request."
You certainly can do it. ---acl=public-read,--use-content-type are the only two options I can see that are missing and make this almost useless for anything you are trying to make publicly accessible like web images as they won't be public or have the right content type.  Goofys does it now on older instance types where it actual compiles, but it doesn't work on Amazon Linux 2023 yet.
https://github.com/kahing/goofys
What a sample fuse mount in fstab should look like using theirs and yours shouldn't really be any different.  Not sure what the exact syntax is for yours though as the documentation isn't very verbose or clear.
/root/work/bin/goofys#some-public-files:banners /mnt/s3/banners        fuse     _netdev,allow_other,--file-mode=0660,--dir-mode=0770,--uid=80,--gid=80,--acl=public-read,--use-content-type    0       0
/usr/bin/mount-s3 --prefix banners/ some-public-files /mnt/s3/banners        fuse     _netdev,--allow-other,--file-mode=0660,--dir-mode=0770,--uid=80,--gid=80,--acl=public-read,--use-content-type    0       0


when i run command with npm run build, it tell me react not support css property

/Users/mengzhigang/Desktop/python_workspace/Superset/superset-frontend/src/views/components/RightMenu.tsx
396:24  error  Unknown property 'css' found                     react/no-unknown-property
401:24  error  Unknown property 'css' found                     react/no-unknown-property
406:24  error  Unknown property 'css' found                     react/no-unknown-property
411:24  error  Unknown property 'css' found                     react/no-unknown-property
471:3   error  State initialization should be in a constructor  react/state-in-constructor
/Users/mengzhigang/Desktop/python_workspace/Superset/superset-frontend/src/visualizations/TimeTable/TimeTable.jsx
245:11  error  Unknown property 'css' found  react/no-unknown-property
✖ 383 problems (163 errors, 220 warnings)
just like this.
报错的都是div，span这种基础标签

I'm not sure why there are so many snyk links here, but this no longer seems to be the case in current-era Superset. Let us know if this needs revisiting for some reason.

I'm not sure why there are so many snyk links here, but this no longer seems to be the case in current-era Superset. Let us know if this needs revisiting for some reason.

I've recently upgraded to Superset v3.1.2 and I'm now encountering the same issue. Example:
#31 201.2 ERROR in src/pages/SqlLab/index.tsx:67:9
#31 201.2 react/no-unknown-property: Unknown property 'css' found
#31 201.2     65 |     <LocationProvider>
#31 201.2     66 |       <div
#31 201.2   > 67 |         css={css`
#31 201.2        |         ^^^^^^^^^
#31 201.2   > 68 |           flex: 1 1 auto;
#31 201.2        | ^^^^^^^^^^^^^^^^^^^^^^^^^
#31 201.2   > 69 |           position: relative;
#31 201.2        | ^^^^^^^^^^^^^^^^^^^^^^^^^
#31 201.2   > 70 |           display: flex;
#31 201.2        | ^^^^^^^^^^^^^^^^^^^^^^^^^
#31 201.2   > 71 |           flex-direction: column;
#31 201.2        | ^^^^^^^^^^^^^^^^^^^^^^^^^
#31 201.2   > 72 |         `}
#31 201.2        | ^^^^^^^^^^^
#31 201.2     73 |       >
#31 201.2     74 |         <SqlLabGlobalStyles />
#31 201.2     75 |         <App />

I've managed to get around it by doing something like this but it doesn't feel like I should have to do that.


Check & align logit (logistic?) probability calculations

For a GLM of the form:
logit(p_t) = b0 + b1 * predictor_1 + b2 * predictor_2 + etc

Double check whether
p_t = exp(rhs) / (1 + exp(rhs))

or
p_t = 1 / (1  + exp(-rhs))

Wow I'm glad to see I can solve this issue easily because these are these same thing! Everyone was right @pausz @robynstuart @emilydriano .

great! can this one be closed @mzimmermann-IDM ?

They indeed are. I should have noticed earlier :sweat_smile: . If we multiply and divide the first expression by exp(-rhs), we get the second expression :see_no_evil:.


If the player has zero hearts, then game over.

If you shoot out all your hearts, then you've not only ran out of ammo, but also health. :<
To restart the game, we'll need to refactor what we currently call a Game into a Scene or Level or whatever. Something that we can reinstantiate to restart. I'd recommend we keep Game as a class, but without much logic in it; it just starts and restarts the Scene.

Done and done :]


fuzz testing: add nlb0 tests

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 65.533%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
13138

Relevant Lines:
20048

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
7 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.02%) to 65.513%

Files with Coverage Reduction
New Missed Lines
%

libraries/plugins/xfpga/open.c
1
74.68%

libraries/plugins/xfpga/mmio.c
6
82.87%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
13134

Relevant Lines:
20048

💛  - Coveralls


2.3 release notes

Signed-off-by: Amit Galitzky<EMAIL_ADDRESS>Description
2.3 release notes
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #320 (bc55a33) into main (5dd0162) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #320   +/-   ##
=======================================
  Coverage   51.94%   51.94%
=======================================
  Files         150      150
  Lines        5030     5030
  Branches      965      965
=======================================
  Hits         2613     2613
  Misses       2160     2160
  Partials      257      257

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add a copy-path button to PR review comments

Description
When looking at Files changed in a PR, each file has a copy button next to its name:

When looking at review comments in Conversation, there is no such button:

I would like such a button to be added there aswell.
Example URLs
https://github.com/refined-github/refined-github/pull/6394

Duplicate of https://github.com/refined-github/refined-github/issues/1912

True, my bad!
If I may continue the discussion though: your closing comment on that issue seems to imply this feature would be helpful to reviewers.

(...), Just click the filename and keep reviewing from the Files tab, (...)

To me, this feature would be most useful from the POV of the assignee, however.
When a reviewer leaves comments on changes in my PR, I want to be able to look at these comments in the Conversation tab, and quickly open the relevant files in my editor. I don't want to have to keep switching between the Conversation and Files changed tabs when processing feedback just to be able to copy the filename.

Discussions are already pretty busy, I don't wanna add any more buttons

This is definitely fair though. If you still feel this way about it and don't want to add it because it would add too much clutter, I understand.

When a reviewer leaves comments on changes in my PR, I want to be able to look at these comments in the Conversation tab, and quickly open the relevant files in my editor.

Not related to GitHub (interface), but editor plugins may be useful for this use case, like this one for VSCode.

Too many feature requests, realistically we’ll never get there. I’m closing those I think aren’t worth it.


The implementation uses 2D sincos embedding instead of 1D?

It seems that you are using 2D sincos embedding for PIXEL here.  This essentially implies that when the patches are fed to the transformer, they are actually reordered as a square image, even though they are initially rendered horizontally. Is my understanding correct here?

Yes that's right. They are essentially treated as a square image despite the horizontal rendering. My interpretation is that the model most likely learns to ignore the Y-axis of the position embeddings for the most part as they do not have meaningful information based on how the text is rendered (i.e., the text is wrapped in arbitrary positions).
However, if you actually had text rendered in 2D (e.g. text that already comes in rendered form and contains line breaks, 2D fonts, etc.), the second dimension of the position embeddings could come in handy.
In some internal discussions, we had considered switching to 1D sinusoids, but we eventually decided to stick with the 2D sinsuoids from the ViT-MAE paper to facilitate extending the model to 2D inputs at fine-tuning time.


Dockerhub rate limits issue when using Private EC2s

Since AWS-master and Tip.science are using private EC2 machines the following issue is arising:

every machine in these respective deployment are now pulling docker images from Dockerhub via the same IP address instead of multiple (when they were public),
the Dockerhub rate limit blocks the pulling of images (100 pulls every 6 hours),
this blocks autoscaled machines and external clusters after some usage,

Current possible options:

ensure docker login to Dockerhub is done on the machines as a custom boot script (works but clusters-keeper UserData is already almost at 16KB, which is the max limit),
change how Clusters-keeper handle these scripts by leveraging AWS SSM and send command over them (this aleviates the 16KB issue)
set up the internal registry to act a pull through cache to Dockerhub, then pulling images via our registry would pull from Dockerhub only once and otherwise keep the images in cache, therefore reducing the trafic between our machines and Dockerhub, which should also lower our costs.

some references:

https://docs.aws.amazon.com/AmazonECR/latest/userguide/pull-through-cache.html
https://docs.docker.com/docker-hub/mirror/

### Tasks
- [x] Login user on cluster machines (https://git.speag.com/oSparc/osparc-infra/-/merge_requests/237)
- [x] Use docker registry auth while deploying service (https://git.speag.com/oSparc/osparc-ops-deployment-configuration/-/merge_requests/717)
- [ ] Perform authenticated [docker] image pulling on autoscaled ec2 (@sanderegg)
- [ ] https://github.com/ITISFoundation/osparc-ops-environments/issues/717
- [ ] e2e ops test monitoring remaining anonymous image pull requests for user (@YuryHrytsuk)

Literature

Docker Hub rate limit

PR fixing docker login on cluster machines: https://git.speag.com/oSparc/osparc-infra/-/merge_requests/237

Docker log in per request vs Private registry as pull through cache to Dockerhub
Docker log in per request
- need to be done per request (every time)
- need to log in on every machine
Private registry as pull through cache to Dockerhub
+ once set up works automatically out-of-the-box with no overhead
- OPS need to guarantee private registry uptime
- OPS need to properly loadbalance and scale private registry
- OPS need to maintain disk space of private registries
- once registry is down no new service on autoscaled machine can start (based on the assumption image pulls happen on new machines)
- daemon.json needs to be configured on every machine
Based on this comparison, I decide to go on with Docker log in per request approach. Even though I would rather have something working automatically out-of-the-box but the cost is too high
@mrnicegyu11, @sanderegg, let me know what are your thoughts on this matter

Docker swarm and authenticated image pulling. Questions
Does it matter which user docker container process has? (unrelated to docker swarm)

It does not. As long as you issue docker command with authenticated user and --with-registry-auth option, the pulling of images is authneticated

Do I need to issue docker login on every docker swarm node?

According to this SO Answer, you do not need to be logged in on every machine. You need to issue docker login on the machine from where you run docker command

Do I need to issue docker login every time I ssh into machine?

To be answered

Do I need to issue docker login on the machine or docker swarm already have login  information (in case it was run before with --with-registry-auth)?

To be answered

Docker log in per request vs Private registry as pull through cache to Dockerhub
Docker log in per request - need to be done per request (every time) - need to log in on every machine
Private registry as pull through cache to Dockerhub + once set up works automatically out-of-the-box with no overhead - OPS need to guarantee private registry uptime - OPS need to properly loadbalance and scale private registry - OPS need to maintain disk space of private registries - once registry is down no image can be pulled via regsitry - daemon.json needs to be configured on every machine
Decision Based on this comparison, I decide to go on with Docker log in per request approach. Even though I would rather have something working automatically out-of-the-box but the cost is too high
@mrnicegyu11, @sanderegg, let me know what are your thoughts on this matter

I would like to discuss these +/-.
If the private registry is down that means anyway:

nothing can run as all the services are only available there (s4l, isolve, etc...)
OPS side, if the registry is down, then oSparc is anyway able to run nothing, so not sure this changes much,
Costs side, it is probably an improvement, especially if the registry is setup with S3 VPC, and scaled on the regions we are using,
number of pulls toward Dockerhub is down to a minimum

Docker registry pull through cache
Useful links:

https://distribution.github.io/distribution/
https://github.com/distribution/distribution/issues/3645

Docker registry as pull through cache experiments
Context:

daemon.json configured to use mirror registry

Outcomes:

When registry container is not running, docker pull as if there was no registry
One can safely restart registry without restarting docker. The mirror registry will be still used
If credentials given to mirror registry are incorrect, docker will pull as if there was no registry
If mirror registry is down, docker will still pull images

Blocked for AWS Deployments until OPS nodes are private https://github.com/ITISFoundation/osparc-ops-environments/issues/574

Docker hot reload without engine restart
sudo kill -SIGHUP $(pidof dockerd)

Blocked only on aws-nih-prod only, due to static machines being public


Fix bug for multiple subgraphs in allocators

This fixes two bugs in the recording micro allocator and one in the regular micro allocator, all related to models with multiple subgraphs.

To get this merged, we would want to add test cases that fail without the fixes but passes with them. Do you have a small example model that we can use for this purpose?

I've looked through the tests in micro_allocator_test.cc, and there are multi-subgraph models available in tflite::testing:: which are usable for this. I wrote a simple test, see below. However, there's no easy interface to MicroAllocator to test if AllocateScratchBufferHandles was called more than once. A second call will simply allocate more memory and overwrite the scratch_buffer_handles pointer. See the // TODO below.
I see the following options:

assert on the exact amount of bytes allocated by the allocator. This might differ on 32-bit vs 64-bit platforms though.
run the entire test in a loop, once without scratch buffers and once with scratch buffers. Then the total amount of bytes allocated should increase by sizeof(ScratchBufferHandle) * num_scratch_buffers and not times the number of subgraphs.

Do you have any suggestions and/or preferences?
TF_LITE_MICRO_TEST(TestMultisubgraphNumScratchAllocations) {
  // Any model with multiple subgraphs:
  const tflite::Model* model =
      tflite::testing::GetSimpleModelWithSubgraphsAndIf();

  constexpr size_t arena_size = 1024;
  uint8_t arena[arena_size];
  tflite::MicroAllocator* allocator = tflite::MicroAllocator::Create(
      arena, arena_size, tflite::GetMicroErrorReporter());
  TF_LITE_MICRO_EXPECT(nullptr != allocator);

  tflite::SubgraphAllocations* subgraph_allocations =
      allocator->StartModelAllocation(model);
  TF_LITE_MICRO_EXPECT(nullptr != subgraph_allocations);

  // Request two scratch buffers
  int buffer_idx1;
  TF_LITE_MICRO_EXPECT_EQ(
      kTfLiteOk, allocator->RequestScratchBufferInArena(20, 0, &buffer_idx1));
  int buffer_idx2;
  TF_LITE_MICRO_EXPECT_EQ(
      kTfLiteOk, allocator->RequestScratchBufferInArena(30, 0, &buffer_idx2));

  tflite::ScratchBufferHandle* scratch_buffer_handles = nullptr;
  TF_LITE_MICRO_EXPECT_EQ(
      kTfLiteOk, allocator->FinishModelAllocation(model, subgraph_allocations,
                                                  &scratch_buffer_handles));

  // TODO: Check that AllocateScratchBufferHandles was only called once
}

@advaitjain I've added a test for the recording allocator and checked that it failed without the changes from this PR.
I did not manage to add a test for the subgraph->operators() == nullptr case, it seemed that this did not happen for the models in the tflite::testing infrastructure.

@advaitjain I've added a test for the recording allocator and checked that it failed without the changes from this PR.
I did not manage to add a test for the subgraph->operators() == nullptr case, it seemed that this did not happen for the models in the tflite::testing infrastructure.

Thanks! Let's get this PR merged. I have created an internal bug (http://b/243820068) to add a test case for the case where subgraph->operators() == nullptr so that it is on our task list. Feel free to send a PR for that if you'd like.


Dev network support

Seems like we have dev net support in libxmtp, unless this refers to something else @richardhuaaa


Samples (csharp_dotnetcore/language-generation) fail with InternalServerError when deployed in Azure

Context
For more information, see the parent issue. #3436
Sample information

Sample type: Samples
Sample language: csharp_dotnetcore
Sample name: language-generation - Several

Describe the bug
Bots deployed to Azure did not respond and throws InternalServerError in the Azure Bot Channels section.

Bots
Status

samples/csharp_dotnetcore/language-generation/05.multi-turn-prompt
• The Bot locally works properly.  • The Bot in Azure fails with InternalServerError (No more information could be collected).

samples/csharp_dotnetcore/language-generation/06.using-cards
• The Bot locally works properly.  • The Bot in Azure fails with InternalServerError (No more information could be collected).

samples/csharp_dotnetcore/language-generation/13.core-bot
• The Bot locally works properly.  • The Bot in Azure fails with InternalServerError (No more information could be collected).

samples/csharp_dotnetcore/language-generation/20.extending-with-custom-functions
• The Bot locally works properly.  • The Bot in Azure fails with InternalServerError (No more information could be collected).

Expected behavior
Bot should work in Azure as well.
Actual behavior
Throws InternalServerError in the Azure Bot Channels section when communicating with the bot.

Closing this issue!. It's been already addressed on the PR #3571 (change) from a separate issue.


Render MathJax inside chat

Rendering mathjax (also simple plotting capabilities would be cool). It would be useful when chatting about programs logic and complexity. I hope I'm not alone who need this.

Closing as not something we plan on supporting anytime soon


[Translation]RightSourceWrongTarget failing in nightly runs

Translation nightly test runs are failing with:

Error message:
Expected: <Azure.RequestFailedException>
But was:  null
Stack trace:
at Azure.AI.Translation.Document.Tests.TranslationOperationLiveTests.RightSourceWrongTarget() in /mnt/vss/_work/1/s/sdk/translation/Azure.AI.Translation.Document/tests/TranslationOperationLiveTests.cs:line 280
at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter1.BlockUntilCompleted()    at NUnit.Framework.Internal.MessagePumpStrategy.NoMessagePumpStrategy.WaitForCompletion(AwaitAdapter awaiter)    at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(Func1 invoke)
at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod(TestExecutionContext context)
at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(TestExecutionContext context)
at NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.<>c__DisplayClass1_0.b__0()
at NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.RunTestMethodInThreadAbortSafeZone(TestExecutionContext context, Action action)

For more details check here:
https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1948923&view=results
@jsquire for notification.

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Network - Front Door:0.2886163,Service Bus:0.20548108,Azure.Identity:0.096052654'

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Network - Front Door:0.2886163,Service Bus:0.20548108,Azure.Identity:0.096052654'

Translation is owned by the service team and has multiple outstanding test quality issues open.   Closing this, as there's no need to accumulate one for every failing test.


net/http: Server still handling new connections after Close (or Shutdown) returns

What version of Go are you using (go version)?

$ go version
go version go1.13.4 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/russ/.cache/go-build"
GOENV="/home/russ/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/russ/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build697515286=/tmp/go-build -gno-record-gcc-switches"

What did you do?
In a loop I create a server with a unique ID, send requests to it and then close the server:

Start listening on socket
Start Server with a unique ID in a separate go routine
Make requests, check server ID against expected and wait for them to complete
Close and wait for the server to finish
Go back to step 1

Test which reproduces this issue:
package main

import (
	"fmt"
	"io/ioutil"
	"net"
	"net/http"
	"os"
	"strconv"
	"sync"
)

func main() {
	fmt.Println("Starting test")
	for i := 0; i < 10000; i++ {
		fmt.Println("Loop", i)

		// Start the server
		client := &http.Client{}
		closeAndWait := RunServer(i)

		// Run parellel requests and wait for them to finish
		ParallelRequets(client, i)

		// Close the server and wait for Serve to return
		closeAndWait()
	}
	fmt.Println("Test Pass")
}

func ParallelRequets(client *http.Client, expected int) {
	var wait sync.WaitGroup
	for minor := 0; minor < 2; minor++ {
		wait.Add(1)
		go func() {
			defer wait.Done()
			resp, err := client.Get("http://<IP_ADDRESS>:8081")
			if err != nil {
				fmt.Println("Get error!", err)
				return
			}
			defer resp.Body.Close()

			data, err := ioutil.ReadAll(resp.Body)
			actual, err := strconv.Atoi(string(data))

			if expected != actual {
				fmt.Printf("Mismatch! expected %v got %v\n", expected, actual)
				os.Exit(-1)
			}

		}()
	}
	wait.Wait()
}

func RunServer(major int) func() {
	fmt.Println("Starting", major)

	handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		fmt.Fprintf(w, "%v", major)
	})
	server := http.Server{Handler: handler}
	listener, err := net.Listen("tcp", ":8081")
	if err != nil {
		panic("Listen error!")
	}
	done := make(chan bool, 1)

	go func() {
		err := server.Serve(listener)
		if err != http.ErrServerClosed {
			fmt.Println("Unexpected server error", err)
		}
		done <- true
	}()

	return func() {
		server.Close()
		<-done
		fmt.Println("Terminated", major)
	}
}

What did you expect to see?
Get requests always return the ID of the currently running server.
$ go run .
Starting test
Loop 0
Starting 0
Terminated 0
Loop 1
Starting 1
Terminated 1
...
Loop 9999
Starting 9999
Terminated 9999
Test Pass

What did you see instead?
Get requests intermittently return the ID of the previously running server. This occurs even though the call to Serve has completed and the server has been closed.
$ go run .
Starting test
Loop 0
Starting 0
Terminated 0
Loop 1
Starting 1
Terminated 1
...
Starting 795
Terminated 795
Loop 796
Starting 796
Terminated 796
Loop 797
Starting 797
Mismatch! expected 797 got 796
exit status 255

Other Notes
I noticed this problem when some of the integration tests I was running were spuriously failing if the same port was used multiple times. I narrowed it down to the server not actually being closed after Close or Shutdown returns so I created this issue.

I can reproduce this reliably locally, but I have to increase the number of parallel requests to 10. After some more investigation, it does look like the handler is indeed invoked after we called server.Close(). I'm not an expert on internal/poll/fd_unix.go, so it's hard for me to say if this is a bug, or if TCP file descriptors just aren't expected to be synchronously closed.
I cannot reproduce this with net.Listen / Accept on my own, so I wonder if it is related to our retry semantics when accepting a connection in a http server.
I'm stumped. /cc @bradfitz

#48642 was fixed

TCP port still isn't being freed after http.Server.Shutdown and http.Server.Close in that sequence for 1.19rc2. I assume it would still take a connection too.


Few typos and readability bugs in Work with variable data in C# console applications Module 6.2

Describe the bug

An extra "the" has been added on this line - Link

There is no space in "if-elseif-else" - Link

The variable name can be italicized for better understanding and easier reading. For Eg here - Link

" ``` " has been leftover in the code given

The sentence should be "in the starter code" - Link

To Reproduce
Steps to reproduce the behavior:

Go to the respective links
Links has already highlighted the position of the area concerned
See error

Expected behavior

Extra the should be removed for correcting the typo
Space should be added between "if-elseif-else" converting it to "if-else if-else"
The variable names in text should be italicized/highlighted. Like variable_name
The extra  " ``` " should be removed at the end of the code
The sentence should have "in the starter code" in the given sentence - "only selection "1. List all of our current pet information" functions the starter code."

Desktop (please complete the following information):

OS: [Windows]
Browser [chrome]
Version [108]

🎓 Add a tag to this issue for your current education role: student, Student Ambassador or educator.
Student Ambassador

Fixed✅Extra the should be removed for correcting the typo
Fixed✅ + backlog for global fix📅Space should be added between "if-elseif-else" converting it to "if-else if-else"
Fixed✅The variable names in text should be italicized/highlighted. Like variable_name
By design - for code blocks🆗The extra " ``` " should be removed at the end of the code
Fixed✅The sentence should have "in the starter code" in the given sentence - "only selection "1. List all of our current pet information" functions the starter code."
@aaryan2134 -great issue, very actionable


[BEAM-3648] Support Splittable DoFn in Flink Batch Runner

This is built on top of #4639 so only the last commit is relevant here.

Run Flink ValidatesRunner

@jkff Next step, now that #4639 is merged. 😉

Run Flink ValidatesRunner

Please let me know when ready for another round.


Dice continue to hang below the notch

On three occasions, I have invoked the dice, and after I move my cursor away, they do not lift back up into the notch. I can only accidentally reproduce it, so I don’t know what makes it happen. I am not complaining since having them not go away is fun. Is this a feature? If so, how do I make it happen on demand?
I love Notchmeister!

It's not a feature, it's a bug with the mouse tracking. There's no way to trigger it reliably, and we do our best to make it not happen.
If we leave them on the screen intentionally, how do you get them out of the way when there's a window or control underneath them?

Thank you for replying. Yes, leaving the dice in the hanging position does pose a problem as you suggest.

Perhaps if dice are down, clicking in the notch area yanks them up?


Curious about encoding FPS drop recently

Using a Macbook Pro to encode for the longest time using this package - always had relatively good framerates encoding until about a week ago.  I went from 30-60fps down to 4-10fps using the exact same command line:  --mp4 --quick --target small
This happened before my upgrade to Catalina, and continues after my upgrade - so pretty sure it isn't related to that.  Curious if this is a known issue or something specific I should check?  Ruby gem install is updated too. Thanks!

@octopush-it Well, my code hasn't changed in over 8 months so I doubt it's transcode-video. It could be related to an updated version HandBrakeCLI, but that's unlikely.
What's more likely is that you have something else on your system using CPU cycles or slowing down your disk I/O. Have you used the Activity Monitor app yet to see if there's anything suspicious going on?

@octopush-it A dramatic drop like that can happen when the source material resolution jumps. For instance, did you start using 2160 source rips instead of 1080?

Oh snap - I didn't realize that - I did just start encoding 2160 source material for the first time recently, didn't equate that as part of the issue.  I will look to some 1080 content to confirm.  Thanks @ttyS0 !

@octopush-it OK, I'm gonna guess that @ttyS0 nailed it (many thanks, Sean!) and close this issue for now. Just re-open if that's not the case.


Add the types field to package.json

typescript uses types on package.json to load types from a package. Although index.d.ts has been part of this project for a few version, typescript still uses any when I import this package.

@nunofgs / maintainers  Can you have a look at this PR when you've got time and publish an updated version with the types included.


Note down version on icon set json files

@migliori Still love your picker! Here's one thing that came to my mind:
To track down which version of the icon set belongs to I suggest to add a version property (string) which notes down the version of the icon set was used when generating the json file.
This needs not to be used by the picker but helps humans to keep track of the supported icon sets.

That's a good idea. I added the versions to the JSON icon files.

One more question: How do you create the JSON files? I saw the tool for FontAwesome. Say, I'd like to contribute an update on some library (bootstrap, e.g.). How can I create the JSON file?

Hi Fabian,
I had to build the tool for FontAwesome, but for others libraries I did
it as I could, according to the data I could retrieve: copied/pasted the
lists of icons in vs-code then formatted them.
Gilles Migliori - Web developer
https://codecanyon.net/user/migli/portfoliohttps://www.miglisoft.com+33 9 54 71 79 93
+33 6 99 07 24 43
------ Message d'origine ------
De "Fabian Braun" @.>
À "migliori/universal-icon-picker"
@.>
Cc "Gilles Migliori" @.>; "State change"
@.>
Date 31/03/2023 09:49:57
Objet Re: [migliori/universal-icon-picker] Note down version on icon set
json files (Issue #7)

One more question: How do you create the JSON files? I saw the tool for
FontAwesome. Say, I'd like to contribute an update on some library
(bootstrap, e.g.). How can I create the JSON file?
—
Reply to this email directly, view it on GitHub
https://github.com/migliori/universal-icon-picker/issues/7#issuecomment-1491464260,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZVHVHL5L34GK36S62XOJDW62ECLANCNFSM6AAAAAAVWKCX2I.
You are receiving this because you modified the open/close
state.Message ID:
@.***>


Add ability to replace metadata fields in API

Closes #267 as it solves the immediate problem.
This acts as a halfway point to having dedicated endpoints for modifying metadata fields. As there is no way currently to delete fields inside the arbitrary metadata map, sending the flag replace_metadata with a put request will change all metadata field updates in the container to be a replace rather than a patch.
More thought should be put into how to properly handle unstructured map updates and deletes.

LGTM as interim solution.
@rentzso Could you please take a quick look?

@nagem Coveralls sometimes gets stuck. Just ignore it.

Just a question. Don't we need to allow this also for files metadata?
LGTM though

@rentzso there isn't an immediate need for file metadata to be modified, hopefully we can get the more robust solution finalized before that need arises. Good catch, though.

metadata exist throughout the hierarchy. Any long-term solution should address it everywhere. But I think we are good to go here right now.


Upgrade Lucene ver. 7.5.0

Lucene 7.5.0 was released.
https://lucene.apache.org/core/7_5_0/changes/Changes.html#v7.5.0
I am planning to release two editions of Luke for version 7.5.0:

JavaFX edition, it works with JDK + JavaFX.
Swing edition, it works with JDK only. ( See #109 )

Swing edition is now under development. Here is the branch for Swing ed. Luke:
https://github.com/mocobeta/luke/tree/luke-swing
Also, Luke 7.5.0 should go with JDK 11 (and JavaFX 11.)

@DmitryKey Swing edition of Luke is still under construction, but I have completed Overview/Documents/Search/Analysis tabs. Can you check out and test it with your indexes? If you find any problems please let me know. Thanks.
https://github.com/mocobeta/luke/tree/luke-swing

Update:
I have just pushed the luke-swing branch:
https://github.com/DmitryKey/luke/tree/luke-swing
This branch is perfectly licensed under ALv2 and works with JDK only. (These are the most important goals for this project. 🥇 )
All features of current JavaFX version was already re-implemented on top of Swing. However, a lot  works for look & feel adjastments and color schema settings are still TBD.
I will start to work for creating the 7.5.0 release, this should include the JavaFX edition and the Swing one, next week. Also, we should make sure that it works well with JDK 11 and JavaFX 11.

I created 7.5.0 release, includes two editions:

Swing ed. https://github.com/DmitryKey/luke/releases/tag/luke-swing-7.5.0
JavaFX ed. https://github.com/DmitryKey/luke/releases/tag/luke-javafx-7.5.0


Update dependency_graph

Problem Statement: The dependency graph.py to generate .graph that is used for ASGCN is currently hardcoded. This prohibits new data set from being used. To make it more dynamic, I have made dependency-graph to specify the location of the dataset that requires processing
I've tested this on custom data sets and it makes it easier to do the processing.
Moving forward, I'll also include different spacy NLP model and also make it dynamic

Nice job! But have you tried to embed this script as an interface? e.g., Call the process function in the datautils.py to generate the graph file if the ASGCN is specified?

Thanks @GeneZC  for reviewing, I just plan to keep it in smaller changes. However if needed to be, I can merge it together with the other changes (i.e datautils.py) to be updated
@yangheng95 - I am working on that bit. Let me test it out if it's okay  - I'll just submit another PR Request

Good! In case of any help, you can refer to here

@all-contributors please add @prasys for code


Geodesic distance between geometry shapes

Sharing a question posted on StackOverflow that may be relevant to this library:
https://stackoverflow.com/questions/61955079/geodesic-distance-between-geometry-shapes-python

Please see https://github.com/geopy/geopy/blob/master/CONTRIBUTING.md#reporting-issues which states that any geopy-related questions should be tagged with geopy and discussed on Stack Overflow, not on the issue tracker.


White spots when rendering PDFs

I opened this issue again, after updating to a newer version did not solve the problem.
Attach (recommended) or Link to PDF file here:
03_Zeugnis.pdf
Configuration:
Chrome Version: 103.0.5060.134 (Offizieller Build) (64-Bit)
PDF.js Version: 3.1.81
Operating system:
Edition	Windows 11 Pro
Version	21H2
Betriebssystembuild	22000.795
Leistung	Windows Feature Experience Pack 1000.22000.795.0
We render the PDF within a custom solution.
Is a browser extension: no
Steps to reproduce the problem:

Render PDF in Browser

What is the expected behavior? (add screenshot)
Display fully readable PDF
What went wrong? (add screenshot)
White spots on the PDF preview

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

Duplicate of #14641


compose box: Pilot extraction of connect mapStateToProps argument.

This extracts the mapStateToProps argument from the connect
function. It makes the code easier to read and matches the
Redux connect argument terminology.
@gnprice this is part of the change to the connect function I've been talking about yesterday. I think it's much cleaner for someone who is new to the project but familiar with Redux terminology. Not sure if it's worth changing everywhere, though. The other part, namely adding a second mapDispatchToProps argument, turned out to only make sense if we were calling connect in a separate file, so I didn't  include an example commit for it.

Got it. Thanks for the example!
Is this style conventional in other Redux apps? If it's just a matter of highlighting which parameter to connect that is (by showing its name), I think the reader can hover over connect in their IDE; or also if they're familiar enough with Redux for that name to be particularly meaningful to them, I think seeing the parameters state and props will identify it as clearly as the name does.

The other part, namely adding a second mapDispatchToProps argument, turned out to only make sense if we were calling connect in a separate file, so I didn't include an example commit for it.

Cool, makes sense.

Sounds reasonable, I don't have a strong opinion here and will close this PR then. Regarding other repos, I just checked the Gitter mobile app and searched for connect( and found this: https://github.com/apiko-dev/GitterMobile/blob/acf95f0673ac3b8a23f7b181d3d4f6c57032a564/app/screens/Settings/index.js#L103
That's only a single example in a single repo though.


COPC writer

Thank you for developing this very useful crate. I am wondering whether there are any plans on the horizon for developing a COPC writer in addition to the reader.

A writer implementation is currently not planned. But open for any collaboration!

Okay, thanks for letting me know. I wish that I had time to contribute because I think that this is a very important project, but sadly I am very stretched at the moment. Anyhow, thanks for this wonderful contribution.


[metal] immutable sampler support on Naga path

See https://github.com/gfx-rs/naga/pull/668
Will be unblocked with the next Naga train.

bors r+


tick marker

Alternative to #1891 taking the marker approach. The downside is that the length of the tick is not configurable; it instead scales with the strokeWidth. The upside is that you can apply the tick marker to a line, but I’m not sure if that’s actually useful. Fixes #1874.

I think the marker approach is more fruitful, for example to draw a barbed wire railroad track line

https://observablehq.com/@observablehq/plot-custom-markers
It would be nice to find a generic way to customize the size of markers (not just for ticks, but for arrow heads etc).

LGTY @Fil?


Carry back remote call error

Resolves https://github.com/apple/swift-distributed-actors/issues/887

LGTM again, thank you!


Is it possible to add Kona EV in vehicule list

Is it possible to add Kona EV in vehicule list.

@nickn17  Or Citigo iV? If it's technically possible, I can help with it.

@stgauvin Kona EV is already added. Sorry, I didn't notice issue this notice.
@romanmatyus  Yes, it will be great. But you have to found OBD2 commands, ECUs/registers and locate values. For Niro/Kona it's was easy thanks to this project https://github.com/JejuSoul/OBD-PIDs-for-HKMC-EVs
Is it something similiar for Citigoe? Can you contact me via<EMAIL_ADDRESS>We can continue via hangouts, whatapp, telegram, or emails.

@nickn17 I found something in https://readthedocs.org/projects/ovms/downloads/pdf/latest/

@romanmatyus  Can you analyze it ? And prepare data for programming ? I have this document for eniro https://docs.google.com/spreadsheets/d/1HAtaFV3EbaJiPP7Do0RaK1vz7oIfOJlEVY7AUmXq5gI/edit?usp=sharing
We can do something similiar for citigo.
Enirodashboard is doing this via obd .. It contacts units (7e2, 7e4,.. ) in the loop and request and parse data from registers (22C101, 22C102, 2101, etc). Citigo has different units with different registers.
-> init phase
"AT Z",      // Reset all
"AT I",      // Print the version ID
"AT S0",     // Printing of spaces on
"AT E0",     // Echo off
"AT L0",     // Linefeeds off
"AT SP 6",   // Select protocol to ISO 15765-4 CAN (11 bit ID, 500 kbit/s)
"AT DP",
"AT ST16",    // reduced timeout to 1, orig.16
->>> Loop phase
// ABS / ESP + AHB
"ATSH7D1",
"22C101",     // brake, park/drive mode
// IGPM
"ATSH770",
"22BC03",     // low beam
"22BC06",     // brake light
// VMCU
"ATSH7E2",
"2101",     // speed, ...
"2102",     // aux, ...
// BMS
"ATSH7E4",
"220101",   // power kw, ...
"220102",   // cell voltages
"220103",   // cell voltages
"220104",   // cell voltages
"220105",   // soh, soc, ..
"220106",   // cooling water temp
// Aircondition
"ATSH7B3",
"220100",   // in/out temp
"220102",   // coolant temp1, 2
// BCM / TPMS
"ATSH7A0",
"22c00b",   // tire pressure/temp
// CLUSTER MODULE
"ATSH7C6",
"22B002",   // odo

I'll try it


[bug] React Native - The app cannot select a network and fails to remember account details upon reopening.

Link to minimal reproducible example
https://github.com/tomheo11233aA/Web3SampleApp.git
Summary
1. When connect wallet successfully I using select network tab and have a
Console Warning:  Possible unhandled promise rejection: SwitchChainError: An error occurred when attempting to switch chain.
2. When reopen app ( destroy app and open again )

Show connect button again.
When press connect button and choose wallet want to connect it's show
Connection dclined. Connection can be declined if a previous request is still active

List of related npm package versions
"web3": "^4.7.0"
"wagmi": "^1.4.13"
"viem": "^1.21.4"
"@web3modal/coinbase-wagmi-react-native": "^1.3.0"
"@web3modal/wagmi-react-native": "^1.3.0"
"react-native": "0.73.6"
"@react-native-async-storage/async-storage": "^1.23.1"

Hey @tomheo11233aA 👋 thanks for reporting.
Can you provide steps to reproduce the issue? Also:

Does it happen with all wallets? Or just with Trust?
Which version of Trust are you using?
Can you provide a video with the complete flow?

Hello @ignaciosantise, thank you for your support.

I'm unsure. The Metamask app is experiencing issues, preventing me from testing this wallet.
The latest version on CHPlay is 8.12.2, released on September 4th, 2024.
The following operations are causing the application to malfunction.
https://github.com/WalletConnect/web3modal-react-native/assets/127393321/c161bb94-99fa-4bd1-bfb7-4e06cec228e2

@ignaciosantise Hello. I believe this bug has been fixed. Thank you for your support.

@tomheo11233aA great! Did you change anything on your side to fix it? If so, can you write it here so future devs can read it

@ignaciosantise I didn't reinstall the library or make any changes; I simply ran the app again, and unexpectedly, there were no problems.

Hello @ignaciosantise  @tomheo11233aA  . Actually. It's the problem. I am using react-native expo which integrate the latest version of "@web3modal/wagmi-react-native": "^1.3.0".
The step to reproduce.

Connect with one wallet (metamask, trust, etc...)
Terminate the app
Disconnect with connected wallet
Try to connect the wallet again
Then the error would say that it's still active which lead my user can't connect to the wallet.

To temporary solved this issue, I would need to code AsyncStorage.clear();


Live Streaming is not available in React Native

Live Streaming is not available in React Native, i want to access each frame of camera in real time but none of the existing package provide this functionality i tried this thing with react native camera package but failed to do so, kindly help if anyone know anything about it,
Regards.

It looks like a feature request, and I'm afraid that this won't make into RN core because of Lean Core https://github.com/facebook/react-native/issues/23313. Please feel free to use third-party modules, or develop your own module. Thanks


PPR-Meta scoring

Currently, all sequences are considered as viruses that are reported as "phages" by PPR-Meta. However, we can additionally filter by a "phage score" provided by the tool:
Header,Length,phage_score,chromosome_score,plasmid_score,Possible_source
seq8,86578,0.658026557109837,0.323770475766357,0.0182029599535136,phage
seq11,63443,0.671362450565434,0.257167359821571,0.0714701900259453,phage
seq20,41715,0.945974168353953,0.0147801588566125,0.0392456778921355,phage
seq22,38841,0.999412552439551,1.51951318980135e-05,0.000572250124745809,phage

awk 'BEGIN{FS=","}{if($6=="phage" && $3>0.7){print $0}}' 01-viruses/pprmeta/kleiner_virome_2015_pprmeta.csv

This is also done here

I checked this for the Kleiner and Neto data set. Kleiner is not affected at all (because we combine PPRmeta results with VF results anyway) but some changes for Neto:

For Neto we reduce the number of unclassified contigs from 105 to 92. We also lose some Imitervirales annotations though.

I would still do this and implement a parameter for the PPR-Meta filtering and not just taking all hits that are phage into account. A good default seems >0.7


Data_input doesn't copy

When i try to copy secret_sector.bin it gives me this error

Probably SD card related, not an issue with the guide.


feat: update passkey

Closes #526.

Originally I was gonna try to name it renamePasskey but I don't know if there are any plans to expand the current schema so updatePasskey seems more appropriate.
Tried write test  for it but apparently the current test for the passkeys plugin does not create a passkey so I will probably give a look into that.


Structured light stubs

You can find the structured_light module API stubs.

Hi, I'm developing projection mapping features on the rgbd module and have some questions since eventually we want to integrate your module.

It seems there are encoding/decoding functions, but how will be the projector/camera calibrated? We researched several methods to calibrate pro-cam, and there is a method to calibrate only with structured lighting (no checkerboard) but not stable.
Will there be a sample code to capture projected structured light (using videoio)?

Dear Naoto,
I don't think I can help you about your first question, because the
algorithm we are implementing (3D UNDERWORLD link to download
https://scholar.google.it/scholar?hl=it&as_sdt=0,5&q=3D+UNDERWORLD-SLS%3A+An+Open-Source+Structured-Light+Scanning+System+for+Rapid+Geometry+Acquisition)
does not consider the projector position (it calibrates the cameras not the
projector); projector calibration was considered by the original algorithm
I wanted to implement (it is patented so I could not implement it).
As regards your second question, yes, there will be a sample code to
capture the projected structured light (it will use the libgphoto2 lib,
recently integrated in OpenCV PR link
https://github.com/Itseez/opencv/pull/4040).
Best regards,
Roberta
2015-06-30 17:05 GMT+02:00 Naoto HIÉDA<EMAIL_ADDRESS>
Hi, I'm developing projection mapping features on the rgbd module and have
some questions since eventually we want to integrate your module.

It seems there are encoding/decoding functions, but how will be the
projector/camera calibrated? We researched several methods to calibrate
pro-cam, and there is a method to calibrate only with structured lighting
(no checkerboard) but not stable.
Will there be a sample code to capture projected structured light
(using videoio)?

—
Reply to this email directly or view it on GitHub
https://github.com/Itseez/opencv_contrib/pull/260#issuecomment-117220079
.

--

INVESTI SUL FUTURO, FAI CRESCERE L’UNIVERSITÀ:
DONA IL 5 PER MILLE ALLA SAPIENZA
CODICE FISCALE<PHONE_NUMBER>7

Thanks @RobertaRavanelli for the links. Although I cannot use your algorithm directly, the gray coding feature will be helpful.

See the more recent pull request at:  GSoC 2015 Structured Light module final PR.


The read_snana_simlib() fails to read the simlib file

Hi everyone,
I was working with simlib files and trying to load them into astropy tables through read_snana_simlib() function. Yet there is a column which contains the data "ID*NEXPOSE" could not be read by the function correctly. I then made the following change to the source code and it works. See if anyone of you have encountered the same problem.
in line 416     COLNAMES = ['SEARCH', 'MJD', 'IDEXPOSE', 'NEXPOSE', 'FLT', 'CCD_GAIN', 'CCD_NOISE',
in line 471                                          ('IDEXPOSE', int(words[2].split('*')[0])), followed by                                         ('NEXPOSE', int(words[2].split('*')[1]),
Thanks!

Thanks for reporting. It's not too surprising that the function doesn't work with newer "simlib" files, as the"simlib" format is not standard and subject to change (apparently!).
It would be nice to update the function to be able to read the new format as well as the old one. Do you think that's possible? I( think there is an example of the old format in the sncosmo test directory.)

I understand the problem now. SNANA added a co-add specific exposure ID, and it merges two bits of data into one column. I think the best way forward is to find the part of the code that breaks when you pass it a co-add simlib, wrap it in a try block, deal with the exception as described above. I should also add a test of an invalid similb and ensure it still throws an error. Does this seem like the right path forward to everyone?


Template card responses are not received when using custom skills.

Briefly summarize your issue:

Template card response from smart screen sdk are not received/displayed in GUI when using custom skills.
What is the expected behavior
output.log
?

template card response from smart screen sdk should be displayed in GUI when using custom skills.
What behavior are you observing?

I was able to hear the proper audio response when custom skill is invoked, however the templated card is not displayed/shown in GUI.
Provide the steps to reproduce the issue, if applicable:

Tell us about your environment:

What version of the AVS Device SDK are you using?
  device sdk - 1.23.0
  smart screen sdk - 2.6.0

Tell us what hardware you're using:

[ ] Desktop / Laptop
[X] Raspberry Pi
[ ] Other - tell us more:

Tell us about your OS (Type & version):

[X] Linux
[ ] MacOS
[ ] Raspbian Stretch
[ ] Raspbian Jessy
[ ] Other - tell us more:

Have you tried the same use case with AVS Device SDK SampleApp?

[ ] The issue is not applicable to the AVS Device SDK SampleApp.
[X] The issue is not reproducible on the AVS Device SDK SampleApp.

@sudharsantel
Thank you for reporting this issue. I took a look at your output, and I didn't see any directives for rendering (either a TemplateRuntime, or a RenderDocument directive).
Can you help us to understand what you expect to trigger GUI to display in this case? Is it an APL document? Is it a TemplateRuntime directive?
Bests,
Mike

@nguymi91  thanks for the update.
I have not added APL document in my custom skill response. I am also not receiving text based template card response from custom skills.
I have implemented the following interface
"alexaSmartScreenSDK::smartScreenSDKInterfaces::TemplateRuntimeObserverInterface", to get text response from custom skill and added observer via method "addTemplateRuntimeObserver" to smart screen client obj. I am expecting a callback to "renderTemplateCard" method, which is not happening.
I have shared latest set of logs.
output.log

@sudharsantel
For the custom skill that you mentioned, is it sending a TemplateRuntime directive? If it is not, there won't be any to render. As stated before, in your provided log, I'm not seeing any RenderTemplate calls. Hence, it is expected that nothing to be rendered.

ok. So as per my understanding we need to add either APL document or render template directive to trigger a custom skill response with GUI element.
For the use case that I am currently exploring, I need only the textual response from custom skill and don't need to trigger any GUI.
Previously with device-sdk I was using simplecard type to get this information. However with smart-screen sdk this is not working and i am not receiving this information.
This is the sample response from custom skill.
const LaunchYouTubeIntentHandler = {
    canHandle(handlerInput) {
        return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest'
            && Alexa.getIntentName(handlerInput.requestEnvelope) === 'LaunchYouTubeIntent';
    },
    handle(handlerInput) {
        const speakOutput = 'Launch YouTube';
        return handlerInput.responseBuilder
            .speak(speakOutput)
            .withSimpleCard(speakOutput)
            .getResponse();
    }
};

I have already shared the interfaces I use.
Query:

Why was the simple card response not working with smart-screen sdk ? what are the further changes required to achieve this?

Closing due to inactivity

@powj I have upgraded APL core to 1.7  from https://github.com/alexa/apl-core-library. I am not aware of medici 2.8, kinldy share links.

@sudharsantel The previous commenter had intended to say Alexa Smart Screen SDK 2.8 - to upgrade to a newer version of APL all other components must be upgraded, this includes the AVS Device SDK and the Smart Screen SDK.

Closing due to inactivity. Please reopen if needed.


Bump python version

A previous PR (https://github.com/googleapis/toolkit/pull/924) seems to have broken travis, this fixes the problem. Likely caused by another PR that bumped the version being merged between the travis tests running for that PR and merging.

Current coverage is 84.84% (diff: 100%)

No coverage report found for master at 6d420ed.

Powered by Codecov. Last update 6d420ed...831b9cc


feat: adjustments to simulators dispatch and platform apps across repo

What does this PR do?:

Implements appropriate stylings in view-simulators component within simulators app.
Adjusts hero banner color for simulators component.
Adjusts hero banner logo color for simulators component.
Changes stylings of single run log tab in dispatch.view.component.

:tada: This PR is included in version 9.44.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Linked Lists for timelines/rolodexes

I can't believe I just typed Linked Lists for timelines/rolodexes but it would make join() faster.

I think this is more trouble than it's worth, tbqh ;P


Review Contents of utils.ts and Only Export Select Functions Instead of All / Remove Unused Functions

Add unit tests where necessary

Also decide whether these utils are intended for end users or for the SDK, or both.

Going through the utility methods (to clean up what is necessary and what is not), the validation logic seems to make the most sense to be shared at this stage. More precisely the following methods:

validateDrips
validateSplits
validateAddress

utils were extracted from the drips app while implementing the first version of the SDK, so the rest of the functionality it exposes is somehow dedicated to the drips app use case.
(Note also that, the ~same methods are still implemented in the drips app codebase).
In my opinion, the SDK should expose more generic utility methods covering a wider range of scenarios.
The calling side can implement, specific to their needs, utilities.
Given the all the above I suggest proceeding as follows:

Now - Remove everything else besides the validation methods mentioned before - the Drips app can still implement its own utilities and reuse the validators (@evvvritt).
Next version(s) - Add more generic utilities. Any suggestions already, even better 🙌 - Related issue.

(@gh0stwheel)


[Podspec] Make the CocoaPods validator happy

That's strange – our unit tests were admittedly failing before, but now the project isn't building. There's a problem with EXPMatchers+FBSnapshotTest.

(I know it's not related to this PR, which looks :+1: by the way, I'm just curious.)
Looks like there are two version of the pod on trunk:
      - 1.0 (2014-05-19 22:04:17 UTC)
      - 1.1.0 (2014-05-19 22:07:07 UTC)

Could CocoaPods be getting confused between the two, semantically identical pods? Samuel, is this a known issue or should I file a bug?

It's an issue I've already fixed ;)

Okie doke, thank! :8ball:


Awake: Corrected label: keep awake on interval -> for duration

Summary of the Pull Request
Corrected: Keep awake on interval -> Keep awake for duration
"Keep awake on interval" incorrectly suggests that a wake-up event is continuously sent at the selected interval (eg. every 30 minutes).

PR Checklist

[ ] Closes: #xxx
[ ] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[x] Tests: Added/updated and all pass
[x] Localization: All end user facing strings can be localized
[ ] Dev docs: Added/updated
[ ] New binaries: Added on the required places

[ ] JSON for signing for new binaries
[ ] WXS for installer for new binaries and localization folder
[ ] YML for CI pipeline for new test projects
[ ] YML for signed pipeline

[ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: https://github.com/MicrosoftDocs/windows-dev-docs/pull/5093

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed

@microsoft-github-policy-service agree

We should not do the changes piecemeal - if we're changing terminology, it should be consistently changed across the app, everywhere where interval is used (including variable names and UI components).
Additionally, instead of for duration we should use for specified duration or for custom duration to avoid awkward phrasing.

Closing this as this requires changes beyond this one label.


A suggest: Setting button in code

Now the keys are not easy to click. [Only 2P> btn(8..13)]
Can make a command to set up button?
E.g: setBtn(id, key)

the game API has access only to gamepad buttons to avoid problems with input on mobile devices for example, but I'm going to add TIC config tool where you can setup your personal local key bindings

Thanks


fork() types

I'm working on a KVM library and I find myself reimplementing most of the types from this crate. I can't use this crate, however, because of your (legitimate) need for asm!(). Would this project consider merging a patch that splits this crate into two halves: one containing raw types (such as RFlags) and the other containing implementations for things like reading and writing the registers?

Is only asm!() the problem or all unstable features? Maybe we can support your use case through (opt-out) cargo features? I'm also open to splitting the crate, depending on the organizational effort (the crate should stay maintainable).

It is all unstable features.

Ok, then a nightly/stable split might make more sense than a raw type/accessing registers split. For example, the InterruptDesriptorTable struct uses the unstable x86-interrupt ABI.
To implement this split, we could add a cargo feature named nightly that is enabled by default. Then we could gate all uses of unstable features on this nightly feature. This way we can compile a part of the library on stable by disabling the feature.

I'm still not sure this really accomplishes what I would want. The problem is that this crate is a mix of two things: x86_64 types and x86_64 instructions. In the case of a hypervisor, we only need the types. Likewise, the instructions depend on the types. But I don't really want the hypervisor to depend on the instructions.

Good point. I guess splitting off a "x86_64_types" crate might be the best solution then.
Which types do you propose to move out?

Good question. Definitely *Flags*.
I'd also like all of the tables. But that brings up an interesting point: the contents of your table structs are private. That would probably have to change.
I also like the *Addr types. We already have a parallel to this. I wonder if we can merge them. In particular, we have implementations that allow things like Deref and lifetime/mutability safety. So maybe we could collaborate on an improved approach here.

*Addr brings up another interesting point because they may not be architecture specific. Or rather, they could be generalized for multiple architectures.

Sounds good!
I would be more than happy to collaborate with you! How about we start by creating a x86_64_types repository under the rust-osdev organization where we both have push access?

Yeah, that sounds great. We can start by just moving existing types and go from there.

*Addr brings up another interesting point because they may not be architecture specific. Or rather, they could be generalized for multiple architectures.

In principle yes, but I would prefer

Yeah, that sounds great. We can start by just moving existing types and go from there.

Great! I created the repository at https://github.com/rust-osdev/x86_64_types. I invited you to the organization and gave you admin access to the repo. I also published a initial version to crates.io to claim the name. You should have publish access too.

I put in a MIT/Apache2 license and created some branch protection rules for master (require pull requests and at least 1 approving review), I hope that's fine with you.

License is perfect. I'm going to start filing pull requests for moving the types.

Great!

How stabilized is this crate currently? Here's a thought...
Once we move out all the register types, it might make sense to implement read/write of those registers as a trait. We could probably even macroize it.
Also, for RFlags, it might be nice to implement some helper methods for getting/settings the iopl.

We're still in the 0.x.y version range, so we can always release a new breaking version. However, I still want to avoid breaking changes when possible.
Adding a trait sounds good in principle. I'm not sure what macros you have in mind, but I'm always a bit reluctant to adding user-facing macros because they are new thing that users of the library have to learn.

Also, for RFlags, it might be nice to implement some helper methods for getting/settings the iopl.

Sure, adding functionality is fine with me. I didn't looked into the details of RFLAGS right now, but if it works it should be fine to add.

Cross-linking pull requests https://github.com/rust-osdev/x86_64/pull/73 and https://github.com/rust-osdev/x86_64/pull/74, which contain an initial implementation.
@npmccallum What's the state of this? Are you still interested is these changes?

Yes, I'm still interested. The state is just business. Let me resubmit against the dev branch today.

Ok perfect, thanks! No need to hurry!

Any progress here @npmccallum ? 😉

@haraldh Typing on it as we speak!


add sorting step to script

A few exomes had errors in annot_caller step due to unsorted positions. Testing of the fix in callerwise_annotation.sh was successful

Will run a test with 428 just to be sure!


A set of 80 standard TrueType fonts from URW

The set of 80 standard Truetype fonts from URW and included in the
GhostPCL -download archives.

After making all changes to the cask:

[ ] brew cask audit --download {{cask_file}} is error-free.
[ ] brew cask style --fix {{cask_file}} reports no offenses.
[ ] The commit message includes the cask’s name and version.

This package contains many different fonts. Seems to be very hard to get everything right.
Additionally, if adding a new cask:

[x] Named the cask according to the token reference.
[x] brew cask install {{cask_file}} worked successfully.
[x] brew cask uninstall {{cask_file}} worked successfully.
[x] Checked there are no open pull requests for the same cask.
[x] Checked the cask was not already refused in closed issues.
[x] Checked the cask is submitted to the correct repo.

Please don’t keep making changes until you tell us where you got the download URL from. If we can’t verify its authenticity, we won’t merge the cask.

Oh. Ok. It is public ftp-mirror. Is that bad? Look at the main site: http://ftp.gwdg.de/

There’s nothing on the homepage (https://www.ghostscript.com/GhostPCL.html) that indicates that FTP is officially supported.

Ok. You can by all means disregard this pull request then. But let me explain more. Ghostscript is very, very old well known package and URW-fonts have been with that package a long time too. From the official site you can find only the whole package. I really don't know how to install fonts from inside two packages. That bz2 what you can find from this FTP is all over the internet and you can read the license of the fonts: they are free.

Maybe we can use this CTAN-archive then, but from there you can have older version...
https://ctan.org/tex-archive/obsolete/support/ghostscript/AFPL/GhostPCL

@mhavo You are not understanding. We don’t care what the package is, we care where it comes from. Your download url is nowhere to be found on the homepage, which means someone auditing the cask has no way of knowing if the package is what it claims to be or not. This policy is very well documented in the main repo.
Seems like the homepage has no link to these fonts on their own, so closing. Thank you anyway for the PR.

So I found this repo. Seems to be the official. How do you add fonts from that?
https://github.com/ArtifexSoftware/urw-base35-fonts

Take a look at:
font-alegreya
https://github.com/caskroom/homebrew-fonts/blob/master/CONTRIBUTING.md
The upstream repo has OTF fonts, they are preferred over TTF.

https://github.com/caskroom/homebrew-fonts/pull/1404


[SECURITY ISSUE] world-readable repos and database

As of Gogs 0.9.0, all repositories and the SQLite database are world-readable, so every rogue user account can access all private data and secrets.
$ stat /srv/gogs
  File: '/srv/gogs'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d	Inode: 1310725     Links: 7
Access: (0755/drwxr-xr-x)  Uid: (  995/    gogs)   Gid: (  994/    gogs)
Access: 2016-05-06 17:51:59.043553378 +0200
Modify: 2016-02-27 00:46:14.708055495 +0100
Change: 2016-03-07 12:47:12.839604905 +0100
 Birth: -

$ stat /srv/gogs/sqlite
  File: '/srv/gogs/sqlite'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d	Inode: 1310731     Links: 2
Access: (0755/drwxr-xr-x)  Uid: (  995/    gogs)   Gid: (  994/    gogs)
Access: 2016-05-06 17:52:32.031104912 +0200
Modify: 2016-05-06 17:50:12.490695465 +0200
Change: 2016-05-06 17:50:12.490695465 +0200
 Birth: -

$ stat /srv/gogs/sqlite/gogs.db
  File: '/srv/gogs/sqlite/gogs.db'
  Size: 243712    	Blocks: 488        IO Block: 4096   regular file
Device: 802h/2050d	Inode: 1310733     Links: 1
Access: (0644/-rw-r--r--)  Uid: (  995/    gogs)   Gid: (  994/    gogs)
Access: 2016-05-06 17:50:12.614032109 +0200
Modify: 2016-05-06 17:50:12.277356406 +0200
Change: 2016-05-06 17:50:12.277356406 +0200
 Birth: -

$ stat /srv/gogs/sqlite/gogs.db
  File: '/srv/gogs/repo'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d	Inode: 1310734     Links: 8
Access: (0755/drwxr-xr-x)  Uid: (  995/    gogs)   Gid: (  994/    gogs)
Access: 2016-05-06 18:02:03.443103650 +0200
Modify: 2016-02-29 22:41:32.844253112 +0100
Change: 2016-03-07 12:47:12.839604905 +0100
 Birth: -

$ stat /srv/gogs/repo/stefan
  File: '/srv/gogs/repo/stefan'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d	Inode: 1310736     Links: 16
Access: (0755/drwxr-xr-x)  Uid: (  995/    gogs)   Gid: (  994/    gogs)
Access: 2016-05-06 18:02:15.910104892 +0200
Modify: 2016-05-06 17:50:12.050683655 +0200
Change: 2016-05-06 17:50:12.050683655 +0200
 Birth: -

$ stat /srv/gogs/repo/stefan/somerepo.git
  File: '/srv/gogs/repo/stefan/somerepo.git'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d	Inode: 131707      Links: 7
Access: (0755/drwxr-xr-x)  Uid: (  995/    gogs)   Gid: (  994/    gogs)
Access: 2016-05-06 18:02:15.910104892 +0200
Modify: 2016-02-28 20:55:49.103654898 +0100
Change: 2016-03-07 12:47:12.809604045 +0100
 Birth: -

Does not seem to be big problem. You should just set /srv/gogs/repo directory to 750 and all repositories will not be world readable as parent directory is not. I don't think gogs should mess with parent directory rights, that's administrators responsibility.

Your comment proved that the task clearly isn't that easy. You cannot "just" set /srv/gogs/repo to 0750. That will still leave the SQLite database vulnerable (and also the app.ini, but I'm not sure if that file contains any credentials).
It is every program's responsibility to ensure proper permissions on the files that it creates. As a minimal solution, I would want to see the following provisions:

set (at least on creation) proper permissions (i.e. 0750) on

all repos created by Gogs, and on
the SQLite database (if one is used)

If app.ini contains credentials, refuse to start when app.ini is world-readable.

@Lafriks It is not about the parent directory. The sqlite database is managed by gogs (in the sense that it is neither filled nor necessarily created by the administrator) and it may contain private information which must be protected from other accounts and only needs to be read by gogs itself. Strict permissions don’t do any harm here.
Same goes for the app.ini, although here it is the administrators responsibility to ensure that the permissions are sane. Gogs must enforce this by not starting when the permissions are not sane (i.e. at least if it is world readable).

Relates to #2950, though not exactly the same so I'm keeping this open (thought please read #2950 as it has already discussed possible solutions in length...).
@strk Might be an idea to merge the issues?

Sounds about the same issue to me.

Feels the same issue to me as well... same argument as https://github.com/gogits/gogs/issues/2950