Can't take a scrolling screenshot of libraries on Xiaomi/Redmi phones

Steps to reproduce
Can't take a scrolling screenshot of libraries on Xiaomi/Redmi phones. The scrolling option is not even clickable in libraries. But it works while reading the chapters.
Expected behavior

This one is from a Samsung phone.
Actual behavior

This is from a Redmi phone
Crash logs
No response
Mihon version
TachiyomiSY 1.10.5
Android version
Android 11
Device
Redmi Note 9
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have gone through the FAQ and troubleshooting guide.
[X] I have updated the app to version 0.16.5.
[X] I have updated all installed extensions.
[X] I will fill out all of the requested information in this form.

I can second this on a Xiaomi Mi 11T with HyperOS 1, which is Android 14-based. No scrolling screenshot in Mihon.

Compose does not support it until 1.7.0-alpha06.

Compose does not support it until 1.7.0-alpha06.

Curious that it'd work in other manufacturer flavours regardless

Compose does not support it until 1.7.0-alpha06.

Curious that it'd work in other manufacturer flavours regardless

If they use official Android API instead of custom impl.


404 error for https://portainer.io/download/portainer-agent-stack.yml

Bug description
Downloading the stack file (as described in https://portainer.readthedocs.io/en/stable/deployment.html#inside-a-swarm-cluster) fails. It reports http error 404 - page not found.
Expected behavior
I should get the yaml file.
Steps to reproduce the issue:
open this link: https://portainer.io/download/portainer-agent-stack.yml
Technical details:

Browser: firefox

Additional context
Work-around: open the link shown on https://www.portainer.io/download/

@SimonHeimberg We're sorry for this and are currently updating our website as well as our asset service.
Documentation will be updated soon. In the meantime I'll keep this issue open.
Note, file can be accessed via https://downloads.portainer.io/portainer-agent-stack.yml
curl -L https://downloads.portainer.io/portainer-agent-stack.yml
 -o portainer-agent-stack.yml

Documentation and website updated.


Gallio / Mbunit - Development

I know this has been earlier discussed in old Google Groups of the Gallio / mbunit.
I was thinking about reviving the development, but I would need help from the community.

BUMP!!!!!!


Fix serialization/deserialization of weakrefs

fixes #60 and pickling of OME objects with weakrefs by adding  __getstate__ and __setstate__ methods that de-reference re-reference the weakrefs.
I added tests, and most of them are passing, but a handful of them with xml annotations are still failing with a very weird message:
_pickle.PicklingError: Can't pickle <class 'xml.etree.ElementTree.Element'>: it's not the same object as xml.etree.ElementTree.Element

furthermore, I don't get that error when I do the test manually in ipython.  @jmuhlich,  would love to hear if you have any thoughts on what might be happening there.

Oh man I waged epic battle with that xml.etree.ElementTree.Element identity issue myself. I discovered that due to how xml.etree.ElementTree is implemented in C, every time you import classes from it in a different module of your own, you get distinct class objects. Instances of one such distinct class are not considered instances of any other instance. This means that when you create e.g. an Element object in one module, then pass it to a function in another module which calls isinstance(elt, Element), it will return false. The way I dealt with it was to ensure our code only imports xml.etree.ElementTree in one module, then all our other modules import it from there. This isn't an issue in the actual module code since all XML handling is in one module, but it does impact the tests:
https://github.com/tlambert03/ome-types/blob/74103b1a7392717e0ad4b9b07fbb4a3c6c17e813/testing/test_model.py#L11-L12
The PicklingError is almost certainly a manifestation of this issue. I'm not sure if there's a way to influence how pickle obtains the class object to use when unpickling, and if there isn't one we'll need to re-serialize XMLAnnotation elements as XML strings for pickling. I agree that's not great, but at least it's not the entire XML document. XMLAnnotations seem pretty rare in the wild from what I've seen anyway.

Even once we fix the ElementTree identity issue, there will still be an issue with the equality testing in test_serialization. Element objects don't define a custom __eq__ method so even if you parse the same XML string twice, the resulting Element objects will not compare equal. We might need to implement a custom __eq__ method on XMLAnnotation elements that re-serializes the Element and compares that.

I think any direct pickling of Element objects is doomed. There seems to always be some sequence of imports of our code and xml.etree that leads to the PicklingError, and in the face of user code doing its own imports there's nothing we can do. It looks we'll need to use the XML string representation here for pickling, and due to Element's lack of a custom __eq__ we'll probably want to use the XML string for equality comparison as well (in a canonicalized form). Here are the two approaches I see right away:
1. On-demand XML serialization in XMLAnnotation.__getstate__ and __eq__, and XML re-parsing in __setstate__.
This preserves our current XMLAnnotation model where .value is an Element. Performance of OME-XML parsing and generation is unchanged. Performance of code that interrogates the XML structure of XMLAnnotations also remains unchanged. Pickling/unpickling and __eq__ will incur XML serialization/parsing overhead every time.
2. Change the XMLAnnotation model so value holds an ahead-of-time canonicalized XML-serialized string.
This will make pickling and equality just trivially work without any custom __getstate__ or __eq__ implementations since the XML data is all in a plain string, and they will be fast. We can still provide a @property that  builds an Element on demand at the cost of the XML re-parsing. The performance of OME-XML parsing in the presence of XMLAnnotations will be affected, since each XMLAnnotation will need to be re-serialized on the way in rather than just taking a direct reference to the already parsed Element object. OME-XML generation will be slower too because we'll need to re-parse on the way out. Accessing the Element will also be slowed down by the on-demand re-parse.
I'm not sure how much real-world performance is actually on the table here. It depends on 1) How many XMLAnnotations are present in a given workload of images and how complex their XML is, and 2) How much pickling/unpickling is done. Maybe the clarity of the code is more important... (My assumptions are that pickling/unpickling would occur only once per image in typical use cases, like sending images to worker processes, and model equality testing will be very rare. I think poking around in the XMLAnnotation Element content will be rare too, but I'm less certain of that.)
Sorry this has gotten pretty long. You guys let me know what you think, and if you can come up with any other solutions.

This is awesome, thanks for all the sleuthing @jmuhlich!  I guess I favor on-demand serialization in option #1: putting the performance penalty (however small/large) on the pickling and equality checking.  Feels like that's the less common operation, and the code would be a bit more sandboxed... You agree?
I added benchmarking in  #63  to help tell whether any of this really matters...

updated this PR with overrides for __getstate__, __setstate__ and __eq__ on XMLAnnotation.  Seems to be working with all roundtrip serialization tests passing now.  @jmuhlich, if you have a moment to take a quick look at the approach before merging, that'd be great.
thanks @JacksonMaxfield for raising this issue.  this is definitely a useful thing to be testing.

I just want to chime in and say this:

The way I dealt with it was to ensure our code only imports xml.etree.ElementTree in one module, then all our other modules import it from there.

Is WILD.

agreed... that's A) some nonsense going on there in etree and B) incredible detective work!

I agree it's wild, and it never sat right with me... You encouraged me to create a minimum reproducible example and figure out exactly what's going on! Turns out the culprit isn't xml.etree, it's xmlschema! I think this code is the issue but I'm still digging:
https://github.com/sissaschool/xmlschema/blob/master/xmlschema/etree.py#L24-L59
If we can figure out how to keep the ElementTree imports from getting messed up (maybe we just have to move our ElementTree import after our xmlschema import?) we might be able to avoid messing with XMLAnnotation pickling entirely! The custom __eq__ will be required regardless, though.

wow...

I have convinced myself there is definitely a bug in that module namespace manipulation code in xmlschema. I submitted a two-line fix at sissaschool/xmlschema#220 . From the pace that the developers there are closing issues and cutting new releases, I think there's a good chance this could make it into a published release quickly.

I removed the new XMLAnnotation __getstate__ and __setstate__ methods and changed __eq__ to use ElementTree.tostring, and that passes on py38 using my xmlschema fix. :) I guess we can move forward with this PR as it stands and then roll back the pickle part once xmlschema releases my fix?
Now that we're down to it, I'm not sure resolving the weakrefs is the best way to do this. I'm a little nervous about what happens when fragments of a model are pickled and not the top-level OME object. What about removing the ref_ entirely from the pickled state, and re-running the code in OME.__post_init_post_parse__ in OME.__getstate__ to rebuild the weakrefs from the ID strings? Maybe the logic we have in __post_init_post_parse__ should be moved to a method that can be called more easily from elsewhere. (Calling __post_init_post_parse__ explicitly feels wrong)

That proposed change means people could still pickle a fragment of a model, but any refs will be broken on unpickle. I think this would prevent the kinds of misuse of pickled model objects that I'd expect.

awesome.  thanks for the PR to xmlschema.  will be cool if that fixes other things too

What about removing the ref_ entirely from the pickled state, and re-running the code in OME.post_init_post_parse in OME.getstate to rebuild the weakrefs from the ID strings

I'm happy to try that out before we commit to the approach in this PR.  will give it a go tomorrow.

looks like your fix is already merged at xmlschema.  I'm going to go ahead and merge this anyway so @JacksonMaxfield can at least use our master branch, and we can look at bumping our xmlschema requirement and cleaning it up in a later PR... perhaps before cutting a new release.

forgot to add... I made the change you suggested in https://github.com/tlambert03/ome-types/pull/61#issuecomment-750585787 (removing refs on getstate and rebuilding them in OME.__setstate__).  works well, and I like it better


detected virus

I downloeded last version(3 weeks ago) its detected trojan I am using malwarebytes is it not safe to use anymore????

This is a duplicate of #616, #517, #508, #503, #420, #384, #335, #333, #315, #284, #270, #249, #217, #209, #137 and #13. Please search the existing issues (even closed ones) before submitting an issue yourself.

What can I do for the solution?

There is nothing really to do short of

Closing this issue
ignoring the virus message as it's a false positive (You can put it under exclusions so it no longer comes up as a virus/trojan if you want)

Can't the person who designed this do something?

As explained in #420

If the ignore/exclusion list isn't enough, then I can't really help you. "Fixing" this would require switching the entire project to use a different packaging method, other than PyInstaller. If you'd still have no luck, you can always run the whole application from source, or build an executable yourself - some instructions for that can be found here: Wiki: Setting up the environment, building and running

Well, that's pretty much everything what I'd have said here 🙃 Although there was also #620. That makes it 18 issues in total, together with this one.
sigh
Cheers @JourneyOver for handling this 👍
Closing as a duplicate.

@DevilXD are you gonna planning fix soon?


drivers: timer: nrf_rtc_timer: Change type of channel argument

There was an inconsistency in the API as z_nrf_rtc_timer_chan_alloc returned int but other function were using uint32_t for channel argument. Updated api to use int everywhere.
Signed-off-by: Krzysztof Chruscinski<EMAIL_ADDRESS>

@jciupis, please have a look if it would require any changes in 802.15.4 platform integration.

@hubertmis yes, the 802.15.4 platform integration (namely this file) is going to have to be aligned to use the modified API properly. The changes seem trivial though.

@jciupis, would merging this PR break 802.15.4 builds? Should hal_nordic revision be updated within this PR?

@hubertmis As far as I know, the file that would require changes is currently in zephyr/modules/hal_nordic/nrf_802154 and therefore could be changed in this PR without updating revision of hal_nordic repo. Since the necessary changes would revolve around integer signedness, I don't expect this PR to break the build - built-in integer conversion should handle it. That said, the 802.15.4 platform should be aligned nevertheless.

Fixing warnings, Updated code in zephyr/modules/hal_nordic/nrf_802154. @jciupis can you take a look?

@nordic-krch LGTM :+1:

@anangl can you take a look?

this violates rule 4.6:
"typedefs that indicate size and signedness should be used in place of the basic numerical types"
Maybe we should change everything to use int32_t instead?

@nashif there are a lot of api's in zephyr which return int with negative being error code and non-negative hold valid information. Are we going to apply this rule in general?

Are we going to apply this rule in general?

yes, it is a daunting task, but this is the goal. It would be nice if new code already start following this now...

Updated to use int32_t


⚠ Samsung has degraded performance

In bd45525, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2534 ms

Resolved: Samsung performance has improved in 983ee9b.


Reset checkbox form

hi, how can i reset forms to their initial value when using check boxes?
  $scope.initUser = angular.copy(data.user || {})
  $scope.initRoles = angular.copy(data.roles || {})

  angular.extend($scope,data);

  //this is a usual form with only text inputs. resetting works like expected
  $scope.resetUserForm = function() {
    $scope.user = angular.copy($scope.initUser);
    $scope.userForm.$setPristine();
  }
//this is my checkbox form.
// the form is set to pristine state but the displayed values are still the same
  $scope.resetRoleForm = function() {
    $scope.roles = angular.copy($scope.initRoles);
    $scope.roleForm.$setPristine();
  }

i created a plnkr that replicates my problem. i used tabs in the example but the problem still occurs if i add the check boxes directly.

Fixed.


model-viewer ar only opens fullscreen for my glb file (not ar)

Description
I am trying to use the AR viewer button with my model, but it only appears to open the full-screen Scene Viewer with a black background.
File: https://nickel-pushy-iris.glitch.me/assets/babylonexport.glb
When replaced by the astronaut from the demo here it does work:
https://model-viewer.glitch.me/
https://arvr.google.com/scene-viewer-preview
EDIT:  export with 3ds Max and Babylon.js and fixing filesize and uv we have no errors in the scene viewer anymore and it the file passes the validator. But the scene viewer still opens fullscreen with a black background...
Live Demo
https://nickel-pushy-iris.glitch.me/
Browser Affected

[x] Chrome
[ ] Edge
[x] Firefox
[ ] Helios
[ ] IE
[ ] Safari

OS

[x] Android
[ ] iOS
[ ] Linux
[ ] MacOS
[ ] Windows

Versions

model-viewer: v0.9.0

three.js: ?
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>@magicleap/prismatic
<EMAIL_ADDRESS>

@efsjouw That's a SceneViewer error, so I'll forward it to @tpsiaki. Meanwhile, please check your glTF here, as that may give you more actionable feedback on what may be wrong with it, if anything: https://github.khronos.org/glTF-Validator/

Alright the validator gives me a similar message.
Also some UNUSED_OBJECT messages
Vector3 at accessor indices 506376..506378 is not of unit length: 0.6179051427527715.
I will look into this, but I am not sure what these errors mean right now.

@efsjouw What software exported the glTF? It would be good to file a bug on them as well with the validator messages. Are there errors or only warnings? It's a little surprising that our parser can handle it properly if the glTF is actually invalid.

It was exported in Blender using the standard settings.

I know this is tagged as 'not model-viewer' but where am I supposed to leave this issue, as I understand scene viewer is closed source? So this problem is not solvable?
The only thing it does is open the model with a black background without any errors, would logcat show me any info?

I found a workaround by opening the model I had exported from the 3ds max babylon exporter here:
https://sandbox.babylonjs.com/
then re-exporting as a .glb file.
This removed the errors in the file and allowed me to open on android without the black background.

That doesn't appear to work for me, also it seems to make the file much larger.
I told our modeller to get rid of all the errors, but I do see there are still some warnings left.
Did you get rid of all errors/warnings?


Fixed mewna/catnip#192

Check if the entities are instanceof RequiresCatnip and cast to that, don't assume they'll be XImpl
Use a regular for loop instead of forEach


Integrate lightning transactions

Minting and trading tokens should use real lightning transactions

Purchasing NFTs is working, but payouts (to creator, seller, and market owner) still TBD

Added LN deposit address to profile

Payouts to seller now working https://github.com/macterra/artx-market/commit/24349ef863ce969defac44d8bc496e4b8797be4e
TBD royalties and transaction fee

Completed with https://github.com/macterra/artx-market/commit/c577e0d9f29867c08cabc1db84cc3efd82393ee1


Error when selecting file

I have this error when i select a file on my html page.
`zone.js:260 Uncaught EXCEPTION: Error in ./ImageCropperComponent class ImageCropperComponent - inline template:2:25
ORIGINAL EXCEPTION: RangeError: Maximum call stack size exceeded
ORIGINAL STACKTRACE:
browser_adapter.js:77 RangeError: Maximum call stack size exceeded
at get (zone.js:966)
at get (zone.js:966)
at get (zone.js:966)
at get (zone.js:966)
at get (zone.js:966)
at get (zone.js:966)
at get (zone.js:966)
at get (zone.js:966)
at get (zone.js:966)
at get (zone.js:966)
`
Don't understand where it comes from. I use ZoneJs but i don't see where the loop on get come from.

Hello,
I do not seem to find where the issue is triggered.
here is a working plunker: https://embed.plnkr.co/V91mKCNkBQZB5QO2MUP4/

Hum weird,it may be a problem related to the angular2-meteor-bootstrap wrapper i'm using so, because i have the same setup as your plunkr. I'm looking into this.

If you can reproduce it on a plnkr fork I can have a look into it

what version of angular are you using?
And what version of zone.js are you using?

Do you use system.js or bundle in a single file?
Can you paste system.config file content?

I use commonjs.
This is my tsconfig.json :
{
  "compilerOptions": {
    "experimentalDecorators": true,
    "module": "commonjs",
    "target": "es5",
    "isolatedModules": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "removeComments": true,
    "noImplicitAny": false,
    "sourceMap": true
  },
  "filesGlob": [
    "client/**/*.ts",
    "server/**/*.ts",
    "typings/**/*.d.ts"
  ]
}

After some upgrades of my core and using the new angular router the problem is solved. It came from the compatibility between my meteor packages and my angular application.

Awesome! Closing issue...


At when external authentication service will be called?

Description:
Hi Team,
We deployment envoy-gateway with 1.0.1 helm version and security policy with external authentication.
Want to when that external authentication service will be called? Because we can see authentication is called for each httproute.
Applied the security at gateway level and few httproutes with common hostname like abc.com prefix with service name.
In external authentication deployment we can see logs for specific user=number of httproutes.
Want to know is this working correctly?

Hi @KshitijaR16 here's the doc https://gateway.envoyproxy.io/v1.0.1/tasks/security/ext-auth/ highlighting how to integrate with an ext authz service, the SecurityPolicy can either target a HTTPRoute or a Gateway depending on your case

Hi @arkodg
We configured external authentication with gateway as a target as mentioned in document.
In our case we configured almost 15 httproutes and when we call or access one of the httproute ,in external authentication service we can see 15 logs for 1 httproute access.
Any suggestions on this?

can you elaborate/share the logs ?


node ace serve and invoke are not a registered command

Package version
"@adonisjs/ace": "^5.0.8",
"adonis5-swagger": "^1.2.1"

Node.js and npm version
node: v14.7.0
npm: 6.14.7

Sample Code (to reproduce the issue)
node ace serve --watch
node ace invoke adonis5-swagger

The command serve and invoke are not recognized by ace.
Is this related to this package ?

serve and invoke are provided by https://github.com/adonisjs/assembler. Did you install this package ?

I did but that doesn't fix it.
Do I need to register the assembler package as an aceProviders in my app.js ?

I'm not sure how adonis register assembler commands, but i didn't register any adonis commands. You should generate new package using adonis-cli or you could look on example of adonis project https://github.com/marcelodosreis/Shingeki-No-Kyojin-API

Did you solve your problem ? Can I close this issue ?

I didn't solve the issue. I think I need a fresh install of adonis.
I'll close the issue. Thanks for your time.


Link to TitleBar Experimental Samples

Description

Add link to TitleBar Experimental samples:
Screenshots (if appropriate):

/azp run

/azp run


Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNCWebViewModule' could not be found.

Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNCWebViewModule' could not be found. Verify that a module by this name is registered in the native binary.Bridgeless mode: false. TurboModule interop: false. Modules loaded: {"NativeModules":["PlatformConstants","LogBox","SourceCode","Timing","AppState","BlobModule","WebSocketModule","DevSettings","DevToolsSettingsManager","Networking","Appearance","DevLoadingView","HeadlessJsTaskSupport","DeviceInfo","UIManager","DeviceEventManager","ReanimatedModule","RNGestureHandlerModule","NativeAnimatedModule","SoundManager","StatusBarManager","StatusBarManager","I18nManager"],"TurboModules":[],"NotFound":["NativePerformanceCxx","NativePerformanceObserverCxx","RedBox","BugReporting","FrameRateLogger","KeyboardObserver","RNCSafeAreaContext","RNSModule","RNCWebViewModule"]}, js engine: hermes
ERROR  Invariant Violation: "main" has not been registered. This can happen if:

Metro (the local dev server) is run from the wrong folder. Check if Metro is running, stop it and restart it in the current project.
A module failed to load due to an error and AppRegistry.registerComponent wasn't called., js engine: hermes

Environment:
"expo": "^51.0.22",
"react": "18.2.0",
"react-native": "0.73.0",
"react-native-webview": "^13.10.5",

Same problem

Same issue here upgrading from 13.10.4 to 13.10.5

same issue

Same here, for now keeping on version 13.10.4

Also having this issue, had to change the version to ~13.6.4 and it worked, but this needs to be fixed in newer versions.

any solutions yet!

Expo Go only supports 13.8 at the moment, which is a real pain because shared cookies are broken on iOS on that version.
I've asked on Expo's Discord if they have a timeline for updating react-native-webview, but no news yet.
Only work around I've found is to use dev builds with npx expo run:ios rather than using Expo Go.
Maybe someone will find a way to patch!

any news on this? I have the same issue


CSS code highlighting on some properties not working

When using some of the newer properties, code highlighting does not work:

Strangely enough, other just-as-new props are being correctly highlighted.
What is being done?

Moved to the upstream repo that we get our css syntax highlighting grammar from: https://github.com/atom/language-css/issues/192


feat(hooks): Add useSessionStorage hook by factoring out core implementation of useLocalStorage

Renames the useLocalStorage.ts file to useStorage.ts which now exports both useLocalStorage and useSessionStorage hooks based on the same implementation. The only difference is the underlying storage API used and the lack of StorageEvents when using useSessionStorage.
Adds a docs page for useSessionStorage with similar explanations, a few similar examples and a reference to the useLocalStorage docs page.

Thanks for all the work on this. & Bonus points for legible docs 👍

LGTM!


feat(#452): refactor Details class

Refactor Details class.
Closes: #452.

History:

feat(#452): sketchy refactoring
feat(#452): fix all tests
feat(#452): fix all qulice suggestions

PR-Codex overview
This PR focuses on changing the type of the source field in multiple classes from Object to String to improve clarity and consistency.
Detailed summary

Changed the type of source field in BytecodeRepresentation and XmirRepresentation classes from Object to String.
Updated constructor and method signatures to reflect the change.
Modified the Details class to use String instead of Object for the source field.
Updated the Details class to return an Optional<Path> for the source() method instead of Optional<Object>.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@volodya-lombrozo OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@volodya-lombrozo Done! FYI, the full log is here (took me 4min)


nodejs app: search query returning 404

in the client when I press the search button
I see that the nodejs server logs error message:
Error: ENOENT: no such file or directory, stat '/home/runner/FlusteredCalculatingInstructions/nasaMining/frontEnd/public/getCoOccuringKWsGraph'

the route getCoOccuringKWsGraph does not exist on the server!

In file nasaMining/frontEnd/public/index.html
Change FROM:

        $.ajax({
            url: 'getCoOccuringKWsGraph',

Change TO:
        $.ajax({
            url: 'getCoOccuringKWs',

Fixed this by deleting my copy and past changes ( from the python project ) and starting over....


Pixelation problem

Hi,
I'm having trouble applying HALD filters on Android. I'm not an expert in this area, so I might just need to adjust some parameters or settings.
Could you please help me?
Here are an example:

Thank you!

@nikolaydymura any update on how to solve this?


Added Portuguese Translations

Added two translations to Catima Android (Fastlane) (https://hosted.weblate.org/projects/catima/fastlane/pt/).
All the rules were followed.

Hi, thanks!
There are 2 more untranslated Portuguese strings, could you take a look at those too please? https://hosted.weblate.org/search/catima/-/pt/?q=state%3A<translated&sort_by=-priority%2Cposition&checksum= :)

Hello!
The translations are done.

Thanks!
I realized I made a mistake on Weblate, Google only allows up to 30 characters for https://hosted.weblate.org/translate/catima/fastlane/pt/?checksum=1623401ca21ef4e9, not up to 50. So it is too long for the Google Play Store.
I'm merging this MR as this is my fault and you did your work, but if you do happen to have time at some point to make it fit 30 characters instead of 50 that would be awesome :)

Sure! I can do it for you :D


Moved from macros to generic-impls for type conversions

Addresses #478.
I would like a review of this; Is this worth it? Is AsTypedSlice the right place to put in an error?

This looks good to me. I think it's nice to move the error to the typed slice trait because it should be reusable to other conversions that use it.

I don't known.. Then we need to do some renaming of things I think.
I need more instructions to polish this I think, as I'm not convinced myself..

Why do we even need the error to be an associated type? We have one major error-type for the whole thing? We can just insert it. We never, ever change the error type anyways.

Yeah, you're right. It doesn't need to be an associated type. I'm not sure why I thought it did.

I've decided to overhaul this by starting from the "bottom" So this PR might never get merged, or maybe needs to be repurposed entirely. Let us wait on #509, #508, #505.


Update UserGuide.md

Completes the UserGuide with all the implemented features as of v1.3

Organized the User Guide, requesting a proof-read for your respective features. Particularly on:

Person fields
Social medias / links
And perhaps update the HelpCommand UI if available?

@Jnwkm @jsincorporated @NicholasPatrick @turretDive

looks good to me on the general side of things, everyone just has to add their own respective features and explain how it works then it should be fine


Editing content files breaks rendering by gutenberg serve

Since a picture is worth a thousand words:

Somehow, gutenberg serve finds the edit unacceptable and delete all the generated html for that article.

I'm pretty sure I already fixed this bug, we'll debug it together next week

Verified, fixed in master, thanks.


color change

Hi all,
where can I choose the color of the liquid in the water gauge?
where can I change the font color of the level?
BR
Tom

From 0.2.0

@DerTom1978 please check the feedback of Bluefox.
Issue closed.

Hi,
thank you very much.
Gradient I have found - thank you!
I can't find circle color and overlapping text color.
V 0.2.0
BR
Tom

I have installed again on another (new) system. Now everything can be found as described.
Can finally be closed.


Split observatorium-template into smaller templates

Basically we want to break up the big gigantic environments/openshift/manifests/observatorium-template.yaml into smaller pieces. Thus we now have:
environments/openshift/manifests/jaeger-template.yaml
environments/openshift/manifests/prometheus-template.yaml
environments/openshift/manifests/telemeter-template.yaml
environments/openshift/manifests/thanos-template.yaml

This will allow us to more independently deploy the individual components.
For example, updating Thanos won't ever trigger a change in Telemeter or Jaeger.
/cc @brancz @kakkoyun @squat @bwplotka @aditya-konarde

Agreed @squat. I think the benefit will be not deploying Telemeter when changing something on Thanos or Jaeger.

Let's make sure to squash when merging.


Creator Value on the Work Show Page doesn't Search for Canonical Name

When I click the linked value of the creator metadata field, the search doesn't search for the canonical name as it does from the facet. The linked metadata field for creator needs to search for the canonical name.
Display Name

Search

Search All of SS from Works using "Sir Snacks-a-Lot" Returns Michael Anthony Tribone in the Creator Facet. Selecting my name from the facet returns all of Sir Snacks-a-Lot's works.

I believe this is becuase the Canonical name is indexed into solr as the facet instead of the display name.  We need to change the link to show the display name, but search on the canonical name.

This also needs to be done for the collection show page

This works for a work, but not a collection.


[MacOS] Error on build for 0.5.1 Release

System information

OS Platform and Distribution (e.g., Linux Ubuntu 20.04, WSL2): MacOS 10.15
Target (e.g. desktop cpu, android arm64): desktop cpu
Bazel version: 3.7.2
Python version: 3.9.4
GCC/G++ version: 12.0.0
Unity version: 2021.3.0f1
Android NDK version (if building for Android): None
Xcode version (if building for iOS): None

Describe the problem
I followed the README to build 0.5.1 version, after I ran python build.py build --desktop cpu -v it returned following error.
Full logs
INFO (build.py): Building protobuf sources...
DEBUG (build.py): Running `bazel build -c opt //mediapipe_api:mediapipe_proto_srcs`
Starting local Bazel server and connecting to it...
INFO: SHA256 (https://github.com/bazelbuild/rules_foreign_cc/archive/main.zip) = e4dec87f68314e448b771434a3c7d49e3d2a6e6fc32b556fc23a38d892e85409
DEBUG: Rule 'rules_foreign_cc' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "e4dec87f68314e448b771434a3c7d49e3d2a6e6fc32b556fc23a38d892e85409"
DEBUG: Repository rules_foreign_cc instantiated at:
  /Users/christina/Downloads/MediaPipeUnityPlugin-0.5.1/WORKSPACE:79:13: in <toplevel>
Repository rule http_archive defined at:
  /private/var/tmp/_bazel_christina/ce481739353571d3bffde06367bf7e9c/external/bazel_tools/tools/build_defs/repo/http.bzl:336:31: in <toplevel>
ERROR: error loading package '': cannot load '@rules_foreign_cc//:workspace_definitions.bzl': no such file
INFO: Elapsed time: 9.811s
INFO: 0 processes.

Additional context
Add any other context about the problem here.

emmm...There is no workspace_definitions.bzl on the main branch of rules_foreign_cc.
So I replaced
http_archive(
   name = "rules_foreign_cc",
   strip_prefix = "rules_foreign_cc-main",
   url = "https://github.com/bazelbuild/rules_foreign_cc/archive/main.zip",
)

in the WORKSPACE file by
http_archive(
   name = "rules_foreign_cc",
   strip_prefix = "rules_foreign_cc-master",
   url = "https://github.com/bazelbuild/rules_foreign_cc/archive/master.zip",
)

and problem solved. :tada::tada::tada:


Tags with version numbers

Thanks for maintaining this container! Just wondering if you could add tags with the dnscrypt-proxy version? Eg. a 2.1 tag for the latest 2.1.x version, a 2 tag for the latest 2.x version etc.
It's hard to pin a specific version at the moment because commit hashes are used for tags: https://hub.docker.com/r/klutchell/dnscrypt-proxy/tags. The only option is to use main which isn't ideal for stability and avoiding breaking changes.

So you need something like the 2.1.5 tag?
These tags do exist, there just hasn't been any new ones recently. The tags you see with the git sha are from branches.
I don't create the 2.1 and 2 aliases to point to 2.1.5 though. But if you only want to pin to a version then 2.1.5 does exist.

Thanks for the quick reply. I was hoping for aliases since it's usually safe to auto update between 2.1.x versions. But no worries if that's a hassle - pinning a specific version will work too.


Fix missing-blocks-guardian logging

Explain your changes:

The logging logic was faulty so some arrangements needed to be done.

Explain how you tested your changes:

Executed each command on the command line

Checklist:

[ ] Dependency versions are unchanged

Notify Velocity team if dependencies must change in CI

[ ] Modified the current draft of release notes with details on what is completed or incomplete within this project
[ ] Document code purpose, how to use it

Mention expected invariants, implicit constraints

[ ] Tests were added for the new behavior

Document test purpose, significance of failures
Test names should reflect their purpose

[ ] All tests pass (CI will check this if you didn't)
[ ] Serialized types are in stable-versioned modules

!ci-build-me


Printing engine version in Info

Minor change to add a Version field to Engine struct. This might be needed later to pass additional context to the engine-api client. It's also nice to print the current version in cluster Info.
Signed-off-by: Nishant Totla<EMAIL_ADDRESS>

Ping @dongluochen

LGTM

LGTM


Any plans to update this to the latest snowflake_grant_privileges_to_role resource?

https://registry.terraform.io/providers/Snowflake-Labs/snowflake/latest/docs/resources/grant_privileges_to_role

Hi @justincandoit, thanks for getting in touch.
Yes, we are currently doing some refactoring to take advantage of this new resource and we're targeting to complete this by the end of January

@justincandoit it is done starting from version v2.0.0


formula_installer: handle nil runtime dependencies

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?

Some old bottles (Sierra and earlier) will fail to install when the downloaded bottle manifest has its runtime_dependencies set to null rather than []. This happens during manifest generation when Tab finds the tab's homebrew_version to be either not present or earlier than 1.1.6. The existing fetch_bottle_tab method passes an empty list if runtime_dependencies is not present; this change ensures that the same happens if runtime_dependencies is present but nil.
Also, Tab#runtime_dependencies could return an empty list if homebrew_version < 1.1.6 to avoid this in future manifests. Not sure if that's necessary.
Before:
==> Downloading https://ghcr.io/v2/homebrew/core/libcuefile/manifests/r475-1
Already downloaded: /Users/vmadmin/Library/Caches/Homebrew/downloads/bcfd5f9c5e66525827bd2c1024f9dbee05db47868b3077b3e19178fe9e25fd91--libcuefile-r475-1.bottle_manifest.json
Error: undefined method `each_with_object' for nil:NilClass

After:
==> Downloading https://ghcr.io/v2/homebrew/core/libcuefile/manifests/r475-1
Already downloaded: /Users/vmadmin/Library/Caches/Homebrew/downloads/bcfd5f9c5e66525827bd2c1024f9dbee05db47868b3077b3e19178fe9e25fd91--libcuefile-r475-1.bottle_manifest.json
==> Fetching libcuefile
==> Downloading https://ghcr.io/v2/homebrew/core/libcuefile/blobs/sha256:66ec2d9281a5459326a1b2d220b9f68fa241a6b9f8370324377af
Already downloaded: /Users/vmadmin/Library/Caches/Homebrew/downloads/f1ebb348b1ce9b4e5bd593221f88ed9bd76af0441b08cf3acda6e7fe1c45306e--libcuefile--r475.sierra.bottle.1.tar.gz
==> Pouring libcuefile--r475.sierra.bottle.1.tar.gz
🍺  /usr/local/Cellar/libcuefile/r475: 11 files, 177.2KB
==> Running `brew cleanup libcuefile`...

Makes sense, thanks @EricFromCanada!


Handle the case where the name of a library is different from the package's

Resolves #5568

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

@matklad I've added the tests you asked me offline, thanks for your patience :-)

@bors r+
Thanks!
I don't know if we have echo on windows, let's just check!

:pushpin: Commit a0cf04e has been approved by matklad

@bors r-

I just disabled the tests on Windows and macOS because it's only on Linux where the BROWSER environment variable has any effect. See https://github.com/rust-lang/cargo/blob/master/src/cargo/ops/cargo_doc.rs#L117

@bors r+

:pushpin: Commit 1286b84 has been approved by matklad

:hourglass: Testing commit 1286b841e9a5abc5763f3e535e2521c921b2af45 with merge a5b13e82db645bb5af33fc59d67da63ea30a17af...

:sunny: Test successful - status-appveyor, status-travis
Approved by: matklad
Pushing a5b13e82db645bb5af33fc59d67da63ea30a17af to master...


Use CUDA

Following this guide, use CUDA to enable GPU access. This would be helpful for many AI workflows.

ok

Following this guide, use CUDA to enable GPU access. This would be helpful for many AI workflows.

Ok

Note: This section only applies to customers who can create codespaces on machines that use a GPU. The ability to choose a machine type that uses a GPU was offered to selected customers during a trial period. This option is not generally available.

As per docs linked above, this PR may not be necessary however doesn't block creation if you don't have access to GPUs, and is helpful if you do.


Feature/matching

Description
Implemented code to process player cohorts for matching. Including code to identify players to be promoted without matching due to a non divisible by 4 situation.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Change Status

[ ] Complete, tested, ready to review and merge
[X] Complete, but not tested (may need new tests)
[ ] Incomplete/work-in-progress, PR is for discussion/feedback

Checklist

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[X] There are no merge conflicts

Link below for a loom video doing a quick go-through of the code.
https://www.loom.com/share/3c916edc8c254f4bbe315d2abf4dfde1


Containers API timeout with size parameter

The GET /containers/json endpoint timeout when asking for a list of running containers, with the size, while ~10+ containers are running.
How to reproduce
Run some containers:
docker run -d debian sleep infinity
Try to connect to the API with the size=true parameter.
echo -e "GET /containers/json?size=1 HTTP/1.0\r\n" | nc -U /var/run/docker.sock
Wait forever.
If you turn the size=1 to turn size=0, it works.
One thing that could help: docker ps -s is slow with the -s flag. Here is its output:

CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES                SIZE
6036978bd822        debian:7.4          sleep infinity      About a minute ago   Up 54 seconds                           trusting_lovelace    -1 B
f0029f8157d6        debian:7.4          sleep infinity      About a minute ago   Up 56 seconds                           happy_shockley       -1 B
2254428505b7        debian:7.4          sleep infinity      About a minute ago   Up 58 seconds                           backstabbing_kirch   -1 B
45bfb2a03927        debian:7.4          sleep infinity      About a minute ago   Up About a minute                       hopeful_carson       -1 B
6d8a536ba90d        debian:7.4          sleep infinity      About a minute ago   Up About a minute                       mad_tesla            -1 B
b2602da3b47f        debian:7.4          sleep infinity      About a minute ago   Up About a minute                       romantic_wozniak     -1 B
8535a04c8c03        debian:7.4          sleep infinity      About a minute ago   Up About a minute                       desperate_bartik     -1 B
9c67fd843fa4        debian:7.4          sleep infinity      About a minute ago   Up About a minute                       sharp_fermi          -1 B
b55ea9709120        debian:7.4          sleep infinity      About a minute ago   Up About a minute                       sick_davinci         -1 B
2ec33f19cbb8        debian:7.4          sleep infinity      About a minute ago   Up About a minute                       berserk_hoover       -1 B

System
Tested on a Vagrant box Ubuntu 14.04 Linux vagrant-ubuntu-trusty-64 3.13.0-24-generic.
Tried with 2 versions, installed from sources: Docker version 0.11.1, build fb99f99 and
Docker version 1.0.0, build 63fe64c. Basic setup, just a docker -d.
docker info output with the 1.0.0 version:
Containers: 21
Images: 480
Storage Driver: devicemapper
 Pool Name: docker-8:1-262188-pool
 Data file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata
 Data Space Used: 9949.2 Mb
 Data Space Total: 102400.0 Mb
 Metadata Space Used: 18.6 Mb
 Metadata Space Total: 2048.0 Mb
Execution Driver: native-0.2
Kernel Version: 3.13.0-24-generic
WARNING: No swap limit support

works for me on latest docker
$ curl-unix-socket unix:///var/run/docker.sock:/containers/json?size=1
[{"Command":"irssi","Created":1424885711,"Id":"4387e9537eeed34bfcc86c2280b9605bad61fbcfcbb5332471d404ed2c4093eb","Image":"irssi:latest","Names":["/irssi"],"Ports":[],"SizeRootFs":0,"SizeRw":0,"Status":"Up About an hour"}
]


Only one lane change per node

From Steam: https://steamcommunity.com/workshop/filedetails/discussion/583429740/3264459260619301162/

Greetings! How difficult would it be to force traffic to only switch to the lane next to them at any given node? There are tons of annoying 2+ lane changes on 3+ lane roads, for example: far left to far right lane, that cause all kinds of traffic flow issues because they block vehicles behind them if they do so into a congested lane, this is unnecessary. Currently I manually set each node to do this in my cities but having this behavior built into the dynamic lane changing option should fix tons of other cities' issues if implemented.

There are some potential issues that we'll need to consider; for example what happens on wide roads if a vehicle isn't able to get to the inside/outside lane to make a turn?

I think this should be an option, if it will be implemented.
In real life, this happens pretty often. At least, I do that almost every day on the Autobahn 😄 (without causing severe traffic havoc though)

I was just about to make this suggestion when I spotted this. Rather than becoming an option/imbedded behaviour, I would suggest that it's added as a shortcut (similar to the existing 'Shift + S' one). Other than no changes, it's the only thing I do a lot and consistently.

IMO it would perhaps be better to have it sort of an 'intelligent always on' (optional feature of course).
The problem with C:SL is that vehicles can only lane change at nodes.  So, what happens if there's not enough nodes in a short stretch of wide road for a vehicle to cross all lanes (assuming it can't find a way to get in to a viable lane when entering the road for whatever reason) to reach a required exit lane?
What we'd need to do is ensure that for a given stretch of road between two junctions (also factoring in transitions between different road prefabs I guess) that the goal is to only allow single lane change per node, but if that is insufficient to cross from outermost lane to innermost lane then multiple lane changes would be required.

That would end up defeating my most common use! Although I can still use the lane management tool to override it, so that would be nice behaviour as default. For my purposes, I'd still love a lane manager short cut to speed the process up a bit.
I use single only lange changes to control distribution, especially for things like busy roundabouts; forcing the AI to pick it's "lane" at the start of an area and take one, pre-defined route to its destination but where the games default behaviour would allow the vehicle options to change lane and/or the AI doesn't see the optimal route through a complex junction.

What about something like:

Shift + S = Straight ahead only
Shift + L = Limited (single lane change)
Shift + U = U-turn (only at junctions, maybe also at some transitions?)
Shift + D = Default (whatever vanilla would do)

And also, at some point in future, an optional setting to apply Limited lane change globally (but it could be overridden on node-by-node basis)?
Notes:

We are planning to draw thin white lines (or similar) to depict 'default' lane routing when no customisations are applied (likely part of #282 PR)
I'm still in the process of going through all the tools to check their keyboard shortcuts in hope of ensuring as much consistency as possible, so those shortcuts above would likely change.

That would be amazing!

What about something like:

Shift + S = Straight ahead only
Shift + L = Limited (single lane change)
Shift + U = U-turn (only at junctions, maybe also at some transitions?)
Shift + D = Default (whatever vanilla would do)

And also, at some point in future, an optional setting to apply Limited lane change globally (but it could be overridden on node-by-node basis)?
Notes:

We are planning to draw thin white lines (or similar) to depict 'default' lane routing when no customisations are applied (likely part of #282 PR)
I'm still in the process of going through all the tools to check their keyboard shortcuts in hope of ensuring as much consistency as possible, so those shortcuts above would likely change.

Or just use Shift + S and cycle through those options, as long as there aren't to many. There's already a confusing amount of inconsistent shortcuts within the game, I personally don't need any additional ones.


replace the final 8xupsample with convtranspose

in the scenario of gt_down_sample ==1,  the header with 8x upsampling will lost much space info,  replacing it with deconv will get  a better result,
in my dateset,  I get 4% performance boosting ,  FYI
https://github.com/windyrobin/TorchSeg/commit/bd3085e50deb34e3d586ada3de6d0209c5ea4021#diff-516fe8f873dafdd94ef2d87e5e51428dR228
before:
----------------------------     mean_IU  75.694% mean_IU_no_back 74.636% mean_pixel_ACC 96.662%
29 09:30:08 Evaluation Elapsed Time: 11.91s

after:
----------------------------     mean_IU  79.444% mean_IU_no_back 78.544% mean_pixel_ACC 97.154%
30 20:57:20 Evaluation Elapsed Time: 13.99s

Thanks for your work and improvement.


assumeIsolated doesn't work for actors with Dispatch executors

Description
assumeIsolated apparently doesn't understand custom executors, at all.  So it lies, in essence, by crashing when in fact the code is executing isolated to the actor.
Reproduction
import Dispatch

actor Example {
    final class DispatchQueueExecutor: SerialExecutor {
        private let queue: DispatchQueue

        init(queue: DispatchQueue) {
            self.queue = queue
        }

        func enqueue(_ job: UnownedJob) {
            self.queue.async {
                job.runSynchronously(on: self.asUnownedSerialExecutor())
            }
        }

        func asUnownedSerialExecutor() -> UnownedSerialExecutor {
            UnownedSerialExecutor(ordinary: self)
        }
    }

    private let executor: DispatchQueueExecutor

    init(queue: DispatchQueue) {
        self.executor = DispatchQueueExecutor(queue: queue)
    }

    func bridge() {
        print("Sadly, I never get my moment.")
    }

    nonisolated var unownedExecutor: UnownedSerialExecutor {
        executor.asUnownedSerialExecutor()
    }
}

let queue = DispatchQueue(label: "Example")
let example = Example(queue: queue)

queue.sync {
    example.assumeIsolated {
        $0.bridge()
    }
}

Expected behavior
Not crashing.
Environment
Swift 6 (swiftlang-<IP_ADDRESS>.300 clang-16<IP_ADDRESS>).
Additional information
No response

Note also that it makes no difference whether DispatchQueue or DispatchSerialQueue is used for the type, to whether it crashes (but it matters a lot for broader compatibility - DispatchSerialQueue was only added recently, in the 2023 Apple OS releases).

The docs claim there's a checkIsolated instance method available, but it doesn't appear to actually exist - the compiler barfs when I use the override keyword to try to implement it.
(tangentially, that documentation is very confusing anyway, since it says "Required" in big bold letters immediately followed by "Default implementation provided")

Also, more broadly, I'm not sure there is any way to actually implement checkIsolated myself, anyway.  All the relevant Dispatch APIs, for checking if I'm currently on a desired queue, are private (or were removed long ago).
So I'm pretty befuddled, since I thought using a Dispatch queue for an actor's executor was the exemplar use-case for custom actor executors, yet it's clear that it doesn't currently work and it's not clear how it can ever work?!

First of all, there was a detailed discussion from 0424-custom-isolation-checking-for-serialexecutor

Required Default implementation provided.

This is common documentation in swift protocols. Which means this property or method is required to implement, but the provider has a chance to provide default implementation. See Providing-Default-Implementations

The docs claim there's a checkIsolated instance method available, but it doesn't appear to actually exist - the compiler barfs when I use the override keyword to try to implement it.

checkIsolated should be implemented without using override keyword. And  "Default implementation" of checkIsolated is simply a runtime fatalError.

Also, more broadly, I'm not sure there is any way to actually implement checkIsolated myself, anyway. All the relevant Dispatch APIs, for checking if I'm currently on a desired queue, are private (or were removed long ago).
So I'm pretty befuddled, since I thought using a Dispatch queue for an actor's executor was the exemplar use-case for custom actor executors, yet it's clear that it doesn't currently work and it's not clear how it can ever work?!

you can use (dispatchpredicate)[https://developer.apple.com/documentation/dispatch/dispatchpredicate) to implement checkIsolated

checkIsolated should be implemented without using override keyword. And "Default implementation" of checkIsolated is simply a runtime fatalError.

It's never called, in any case.  e.g. amending my earlier example code:
        private final class DispatchQueueExecutor: SerialExecutor {
            …

            func checkIsolated() {
                print("checkIsolated()")
            }
        }

The stacktrace is:
#0	0x0000000192dcd890 in _swift_runtime_on_report ()
#1	0x0000000192e8cb10 in _swift_stdlib_reportFatalErrorInFile ()
#2	0x0000000192a5ed94 in closure #1 in closure #1 in _assertionFailure(_:_:file:line:flags:) ()
#3	0x0000000192a5ded8 in _assertionFailure(_:_:file:line:flags:) ()
#4	0x000000010024f074 in Actor.assumeIsolated<τ_0_0>(_:file:line:) ()

you can use dispatchpredicate to implement checkIsolated

Ah, thank you!  I had no idea that API existed.

Note that isSameExclusiveExecutionContext(other:) is also never called.  It's not clear if it's expected to be in this context (assumeIsolated), though.

It's never called, in any case. e.g. amending my earlier example code:

That looks weird. In current Swift 6 runtime, calling assumeIsolated outside of Task context, falls to here.
I think you are compiling against swift 6 and running on swift 5 runtime maybe?

Note that isSameExclusiveExecutionContext(other:) is also never called. It's not clear if it's expected to be in this context (assumeIsolated), though.

This is expected behavior, isSameExclusiveExecutionContext is Only evaluated when current calling context is owned by a existing Task and have a SerialExecutor type.
Since you're calling assumeIsolated outside of Task, Concurrency can not find any SerialExecutor to compare.

It's never called, in any case. e.g. amending my earlier example code:

That looks weird. In current Swift 6 runtime, calling assumeIsolated outside of Task context, falls to here. I think you are compiling against swift 6 and running on swift 5 runtime maybe?

…maybe?  I definitely was compiling in Swift 5 mode previously, but even after adding .swiftLanguageVersion(.v6) to my package, the problem persists.
I'm not sure how to tell what version of the runtime I'm running against…?

@wadetregaskis Could you please let us know which OS you are running on? It could also be a back deployment issue.

I should explain the issue first perhaps, as there's some confusion what actually seems to not be working here.
First,
queue.sync {
    example.assumeIsolated {
        $0.bridge()
    }
}

this used to not work; but is the exact reason SE-0424 as proposed for Swift 6. The problem isn't about custom executors per se, but is about the fact that there is no executor at all to compare with here: queue.sync {; As far as Swift is concerned this is just some random thread running some synchronous code, and then you'd try to compare the example's executor with "no executor" so yeah it used to fail.
Now, this use-case is valid, so we provide checkIsolated to handle it -- the target executor can be asked by Swift "well, I've got no idea; but do you think this is actually you?" and checkIsolated on the expected executor. This should be implemented as dispatchPrecondition(condition: .onQueue(queue)) as the proposal shows.

Why isn't it getting invoked for you?
I suspect an old runtime, so it doesn't get invoked, as simple as that. Please update your OS and compiler.
This is on a recent macOS 15 which has checkIsolated in the library:
ktoso@dynames [19:47:53] [/tmp/MyExecutable] [main *]
-> % sudo xcode-select --switch /Applications/Xcode2.app

ktoso@dynames [19:47:53] [/tmp/MyExecutable] [main *]
-> % swift -version
swift-driver version: 1.111 Apple Swift version 6.0 (swiftlang-<IP_ADDRESS>.15 clang-16<IP_ADDRESS>)
Target: arm64-apple-macosx15.0

ktoso@dynames [19:48:01] [/tmp/MyExecutable] [main *]
-> % swift build -c release
Building for production...
[5/5] Linking MyExecutable
Build complete! (0.61s)

ktoso@dynames [19:48:09] [/tmp/MyExecutable] [main *]
-> % .build/release/MyExecutable
Checking DispatchQueueExecutor.checkIsolated()
Sadly, I never get my moment.
Nevermind... I did!

If you'd try to select an old Xcode it'd crash as you say:
-> % sudo xcode-select --switch /Applications/Xcode.app
swift runtime: backtrace-on-crash is not supported for privileged executables.
ktoso@dynames [19:49:28] [/tmp/MyExecutable] [main *]
-> % swift -version
swift-driver version: 1.87.1 Apple Swift version 5.9 (swiftlang-<IP_ADDRESS>.108 clang-15<IP_ADDRESS>)
Target: arm64-apple-macosx15.0
ktoso@dynames [19:49:30] [/tmp/MyExecutable] [main *]
-> % swift -version
swift-driver version: 1.87.1 Apple Swift version 5.9 (swiftlang-<IP_ADDRESS>.108 clang-15<IP_ADDRESS>)
Target: arm64-apple-macosx15.0
ktoso@dynames [19:49:32] [/tmp/MyExecutable] [main *]
-> % swift build -c release
Building for production...
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
[2/2] Linking MyExecutable
Build complete! (8.49s)
ktoso@dynames [19:50:44] [/tmp/MyExecutable] [main *]
-> % .build/release/MyExecutable
MyExecutable/main.swift:54: Fatal error: Incorrect actor executor assumption; Expected same executor as MyExecutable.Example.

💣 Program crashed: Signal 5: Backtracing from 0x1a4f412c4... failed

Long story short: update your OS and Xcode please, I believe this works as expected. The feature does not backdeploy.

diff --git a/Sources/main.swift b/Sources/main.swift
index e7b7bed..f4841e2 100644
--- a/Sources/main.swift
+++ b/Sources/main.swift
@@ -12,6 +12,7 @@ actor Example {

     func bridge() {
         print("Sadly, I never get my moment.")
+        print("Nevermind... I did!")
     }

     nonisolated var unownedExecutor: UnownedSerialExecutor {
@@ -37,7 +38,11 @@ final class DispatchQueueExecutor: SerialExecutor {
     public func asUnownedSerialExecutor() -> UnownedSerialExecutor {
         UnownedSerialExecutor(ordinary: self)
     }
-
+
+    public func checkIsolated() {
+        print("Checking \(Self.self).\(#function)")
+        dispatchPrecondition(condition: .onQueue(queue))
+    }
 }

Could you please let us know which OS you are running on?

macOS Sonoma 14.5 (23F79).

Please update your OS and compiler.

I'm already running the latest OS (see above).  I can try a newer Xcode 16 beta, though it'll take a day or two to download (yay bay area internet).
It sounds like you're implying that this fix isn't included in any released OS versions, only in future ones?  That'd be a real bummer - this was already my last-ditch workaround to try to support Swift 6 with this "mixed-mode" actor / GCD code.  I have no choice about using GCD - that's forced by the Apple API in question (NWPathMonitor).  The existing GCD-using code is correct, but Swift 6 doesn't understand that and issues erroneous compiler warnings & errors. 😔
Dropping support for all released OS versions is a non-starter, and will be for a couple of years at least.

To support this exact pattern:
queue.sync { // there's no executor here
    example.assumeIsolated { // this needs SDK/runtime with checkIsolated

you'll need new OS, yeah AFAIK.


Support for macOS 10.13 High Seirra

Will there be support for High Sierra soon?

There is already work to get this going in #215 however it's not a matter of just allowing the version (as explained in the description).
You can bypass the version check by adding the SKIP_OS_CHECK=1 however YMMV and probably won't work.


Feature: Added Support accepting OTLP via Kafka

Which problem is this PR solving?

Adds two more recognized encodings, otlp-json and otlp-proto.
https://github.com/jaegertracing/jaeger/issues/3949

Short description of the changes

closing due to inactivity


#zip should be available in Iterable, not just in Indexable and Iterator

At the moment, using #zip on Indexables of course works just fine (although it's barely documented, which is a bit annoying). The following, for example, is no problem:
# In this case, [1, 2, 3].zip([4, 5, 6]) returns a new array.
[1, 2, 3].zip([4, 5, 6]) do |x, y|
  puts "#{x} #{y}"
end

You can also use #zip on iterators, in which case it returns a new iterator instead of constructing an array:
(1..3).each.zip((4..6).each).each do |x, y|
  puts "#{x} #{y}"
end

However... isn't that a bit verbose? 3 eaches for one iterable zip? Wouldn't it be nice to be able to do the following on any Iterable?
(1..3).zip(4..6) do |x, y|
  puts "#{x} #{y}"
end

I know I've missed it a few times now - it'd probably be a very welcome feature for others too.

There is a similar issue - #2977
It was mostly solved when Indexable was introduced, but explanation of @bcardiff and @asterite of why there isn't zip for two Iterables is still valid.
Solution proposed there is to create Iterator implicitly, so you will have to write
((1..3).zip(4..6)).each do |x, y|
  puts "#{x} #{y}"
end

I'm not sure if it is good - still 1 each instead of 0 and some "magic" (allocating of Iterator) inside.

The only thing you can't zip is two enumerables - iterators and iterables can be zipped with anything. We should expose that in the API.

This can't be implemented. Closing.

ranges are iterable, so this is possible to implement

@RX14 You are right, this can be implemented with this patch:
diff --git a/src/iterable.cr b/src/iterable.cr
index 765eb0aeb..0d1463e9e 100644
--- a/src/iterable.cr
+++ b/src/iterable.cr
@@ -45,4 +45,14 @@ module Iterable(T)
   def each_with_object(obj)
     each.with_object(obj)
   end
+
+  def zip(other : Iterable)
+    each.zip(other.each)
+  end
+
+  def zip(other : Iterable, &block)
+    each.zip(other.each).each do |value|
+      yield value
+    end
+  end
 end

However, given this code:
p (1..3).zip(4..6)
p [1, 2, 3].zip([4, 5, 6])

The output is:
Iterator::Zip(Range::ItemIterator(Int32, Int32), Range::ItemIterator(Int32, Int32), Int32, Int32)(
 @iterator1=
  #<Range::ItemIterator(Int32, Int32):0x103612fe0
   @current=1,
   @range=1..3,
   @reached_end=false>,
 @iterator2=
  #<Range::ItemIterator(Int32, Int32):0x103612fc0
   @current=4,
   @range=4..6,
   @reached_end=false>)
[{1, 4}, {2, 5}, {3, 6}]

That is, for Array is naturally returns an Array (because it's an Iterable, but the method is overwritten) but for other Iterables it will return an Iterator. I think that's not intuitive, and that's why I'm not sure about adding such feature.
In fact, I'm not totally convinced about the Iterable module. Maybe we should just remove it, it just saves you from typing each just a very few times, and it adds to the confusion of Iterator, Iterable, Indexable and Enumerable.

(I'll close it in the meantime, unless we solve the confusing issue above)

Sounds like it might be a good idea to just switch over to iterators everywhere, letting people convert to arrays if they need it.

@obskyr that would force everyone to write to_a at the end, which is much worse than writing each a few times here and there.

(and it's also not how Ruby works, and here I'd like to keep compatibility with Ruby because it's one of the nicest thing it has, as you usually never deal with iterators)

I can't say I agree! For one, you'd only have to write to_a once whereas you now need to write a forest of eaches. More importantly, though: as far as I know, iterating is a much more common use case for zip than having it in array form.

@obskyr not true, there are many cases where you'd expect the result (an Array) of an Iterator, not the one itself. Also, zip alone is used relatively rarely.

Isn't it fine, then, to have zip return an array for arrays, but an iterator for iterables?

i think i share the concerns about iterable. methods should return an iterator, and only methods on iterators should compose iterators.

There's also this:
require "benchmark"

Benchmark.ips do |x|
  x.report("map") do
    [1, 2, 3].map { |x| x + 1 }
  end

  x.report("each.map.to_a") do
    [1, 2, 3].each.map { |x| x + 1 }.to_a
  end
end

Output:
          map   6.64M ( 150.6ns) (± 9.29%)       fastest
each.map.to_a   4.93M (203.04ns) (± 5.91%)  1.35× slower

Immediate methods are much faster, specially map. And, in my experience, I usually use map alone, most of the time, not necessarily chaining it with more methods.
If performance is a concern in those cases where I have map { ... }.select { ... }.and_more { ... }, I can stick an each in the front and a to_a at the end. But that's usually not the case, as programs usually deal with small arrays, and these pieces don't end up being a program's bottleneck.

For reference, this was implemented it #7453

Oh, beautiful! How was that issue @asterite mentioned solved in the end? Does (1..3).zip(4..6) { |x, y| puts x, y } construct an array?

Oh, beautiful! How was that issue @asterite mentioned solved in the end? Does (1..3).zip(4..6) { |x, y| puts x, y } construct an array?

What issue?

What issue?

@asterite This one! The one about returning inconsistent types.

@asterite This one! The one about returning inconsistent types.

if zip starts with an Iterator then it returns an Iterator, otherwise it returns an Array (as far as I remember)

if zip starts with an Iterator then it returns an Iterator, otherwise it returns an Array (as far as I remember)

I see! Thanks for the info, and for the patch itself!

I see! Thanks for the info, and for the patch itself!


Node.js  uvwasi team Meeting 2024-01-17

Time
UTC Wed 17-Jan-2024 19:00 (07:00 PM):

Timezone
Date/Time

US / Pacific
Wed 17-Jan-2024 11:00 (11:00 AM)

US / Mountain
Wed 17-Jan-2024 12:00 (12:00 PM)

US / Central
Wed 17-Jan-2024 13:00 (01:00 PM)

US / Eastern
Wed 17-Jan-2024 14:00 (02:00 PM)

EU / Western
Wed 17-Jan-2024 19:00 (07:00 PM)

EU / Central
Wed 17-Jan-2024 20:00 (08:00 PM)

EU / Eastern
Wed 17-Jan-2024 21:00 (09:00 PM)

Moscow
Wed 17-Jan-2024 22:00 (10:00 PM)

Chennai
Thu 18-Jan-2024 00:30 (12:30 AM)

Hangzhou
Thu 18-Jan-2024 03:00 (03:00 AM)

Tokyo
Thu 18-Jan-2024 04:00 (04:00 AM)

Sydney
Thu 18-Jan-2024 06:00 (06:00 AM)

Or in your local time:

https://www.timeanddate.com/worldclock/fixedtime.html?msg=Node.js+Foundation+uvwasi team+Meeting+2024-01-17&iso=20240117T1900
or https://www.wolframalpha.com/input/?i=07PM+UTC%2C+Jan+17%2C+2024+in+local+time

Links

Minutes Google Doc: https://docs.google.com/document/d/1TW3LdKPj3OKDtO35N9GtgI2QcSsbgrvZacGpumAnhVo/edit

Agenda
Extracted from uvwasi-agenda labelled issues and pull requests from the nodejs org prior to the meeting.
nodejs/node

WASI preview 1: fd_readdir ignores cookie argument #47193

nodejs/uvwasi

What's new with uvwasi in 2023 #201
Changes to WASI spec in snapshot_preview2 #59

Invited

uvwasi team: @nodejs/wasi

Observers/Guests
Notes
The agenda comes from issues labelled with uvwasi-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.
Joining the meeting

link for participants: https://zoom.us/j/91612484369
For those who just want to watch:
youtube admin page: https://www.youtube.com/my_live_events?filter=scheduled

Unfortunately I won't be able to make this meeting due to a conflict.

Minutes from the meeting today
Node.js  uvwasi team Meeting 2024-01-17
Links

Recording:  https://www.youtube.com/watch?v=w2eWzXAUilc
GitHub Issue :https://github.com/nodejs/uvwasi/issues/246

Present

Michael Dawson (@mhdawson)
Blaine Bublitz (@phated)
Oscar Spencer (@ospencer)

Agenda
Announcements
*Extracted from uvwasi-agenda labelled issues and pull requests from the nodejs org prior to the meeting.
nodejs/node

WASI preview 1: fd_readdir ignores cookie argument #47193

nodejs/uvwasi

What's new with uvwasi in 2023 #201

uvwasi release with fixes to file system stuff, Michael to add to post

Changes to WASI spec in snapshot_preview2 #59

Oscar, at next weeks WASI community group meeting, vote to advance proposal to phase (3 or 4. the one that says its agreed)

Michael, once that passes we should look at how work can be broken down, to prioritize and
generate issues
Blain a lot of stuff moved to resources, but have not found a good reference for those, they
are still a WIP in Jco (as second implementation to WASMTime needed as pre-req for vote),
so makes it a bit hard to figure out.

Q&A, Other
Upcoming Meetings

Node.js Project Calendar: https://nodejs.org/calendar

Click +GoogleCalendar at the bottom right to add to your own Google calendar.


https://play.google.com/store/apps/dev?id=8802462833480602617

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@Teezbrowdy closing this issue as it has no details. Please open a new one if you have any feature requests and an item that needs updating. Thanks!


fix(MortarScope) use application context in MortarScope#getScope()

Hi! I suggest to use application context in MortarScope.getScope().
In our activities we call MortarScope.findChild(context) and MortarScope.buildChild(context). Every time we must pass the getApplicationContext() as a parameter. I found that if developer forgets about it and accidentally passes this (current Activity instance), he'll get the StackOverflowException because of recursive function call. To avoid this I propose my solution that ensures we'll always have correct context for getting system service by name.

Isn't it breaking service-to-context-binding and sometimes (I'm looking at Dagger) those service hierarchy?
ApplicationContext -> RootComponent as 'DaggerService'
  ActivityContext -> ActivityComponent extends RootComponent as 'DaggerService'
    ViewContext -> ViewComponent extends ActivityComponent as 'DaggerService'

It isn't breaking service-to-context-binding and those service hierarchy.
You get components as services from the child scopes by name only, right? You'll get them as before.
Note that you always needed the application context, otherwise you couldn't build the scope.


Call a new function GLUE before returning out = MAP(fun)(domain)

The problem with MAP may arise many times for both developers and users ...

A general solution is to call a new function GLUE or IDENTIFY to remove double or multiple points by identification ...
Use a dictionary with key the truncated coordinate vector of points, and as value the array of multiple vertex indices.
Rename the second, third, ... instances with the first index and remove the corresponding multiple vectors from their storage structure.
Finally, remove double copies of 1-cells and 2-cells, if any.

Apply this filter before emitting the MAP output ... Always !!!

Please git pull
Now you have a function which remove doubles using some tolerance.
Example:
precision=1e-4
hpc=GLUE(CUBOID(...),precision)
VIEW(hpc)

it's not enabled by default to the MAP function since it can breaks old code.
If you want to run it on a MAP you could do
using Plasm

Su0 = BEZIER(S1)([[0, 0, 0], [10, 0, 0]])
Su1 = BEZIER(S1)([[0, 10, 0], [2.5, 10, 3], [5, 10, -3], [7.5, 10, 3], [10, 10, 0]])
Sv0 = BEZIER(S2)([[0, 0, 0], [0, 0, 3], [0, 10, 3], [0, 10, 0]])
Sv1 = BEZIER(S2)([[10, 0, 0], [10, 5, 3], [10, 10, 0]])

fn=COONSPATCH([Su0, Su1, Sv0, Sv1])
domain=Power(INTERVALS(1.0)(10), INTERVALS(1.0)(10))
hpc=MAP(fn)(domain)

precision=1e-4
hpc=GLUE(hpc,precision)
VIEW(hpc)

@apaoluzzi please try as close the issue as needed

it's correct it's not breaking most of the MAP examples (actually all HPC/FENVS tests are working just fine).
The problem seems to be arrange3d which is probably more "sensitive" to numerical and topological inconsistencies (even at small scale)? Just guessing here.

fixed by adding GLUE function


Idea: use buffers to reuse hunks of data

This (pre)PR is a preflight for using this idea with drawMesh() ... (and likely other calls later, like paths)
The runtime would create buffers...

vertices
uvCoords
indices
(colors in the future)

and then it can re-use some, and recreate others, as needed.
drawMesh() could look something like.    drawMesh(vertsBuffer, uvBuffer, indexBuffer)
During an animation, we won't (likely) change the UVs and never change the indices, so those two buffers could be reused for the duration.

Presumably, a GL renderer could create GL buffers and cache those, rather than having to store the data CPU-side...

Yep although if it wanted to generate a larger buffer to sub-buffer into...well it could do that too (to minimize state change)

that said, I'm not against adding a mutable collection like a mesh object, I'm just not sure how much better that is from just specifying the (immutable) buffers all at once at draw-time. (just not sure).
Clearly, the initial 'drawMesh' is very fixed-functionality -- one set of UVs associated with one shader. To really generalize that, I think may need a complex structure, or a user-definable shader

I do think buffer subsets are interesting... GPUs should be able to use those for free:
e.g.
buffer = makeBufferSubset(origBuffer, offset, length)
Which would be a zero-copy operation.

How about this -- we consider landing this RP, which only introduces the notion of Buffers, and then we can debate/experiment with how to use them in a separate PR :)

@csmartdalton for your reference!


Get ERROR: exception, after loading a few pages

I installed localtunnel v2 on my ubuntu server with apache2 and I am tunneling through 80 port. I can see my website from the tunnel address with no problem.
However, after I browsed a few pages, I start to see unloaded pics first and then lost the connection completely. Then on the server side, it will show:
"ERROR exception" multiple times
Can you help me with this? My website can be found at pepchem.org and it is currently running on a small server. I was trying to move it to a bigger server inside my company.
Thanks in advance.

That version has reached EOL.


Broadcaster not triggering illuminate.queue.failed event

Certain errors/exceptions in a Broadcaster can cause Illuminate\Queue\Worker to fail hard.
The failed broadcast is recorded in the failed_jobs table but an illuminate.queue.failed event is not fired.
It works as expected if an exception is thrown when the job is being fired as that gets caught in https://github.com/laravel/framework/blob/5.1/src/Illuminate/Queue/Worker.php#L192
The issue occurs when an exception is thrown in a Broadcaster constructor, (i.e. this could happen if an exception is throw somewhere in the Pusher class for example etc.)
Everything stops when it reaches $job->failed(); in https://github.com/laravel/framework/blob/5.1/src/Illuminate/Queue/Worker.php#L231
In Job::failed() the uncaught exception triggered in $this->resolve($class) will halt the code execution.
It's a difficult one to simulate as it only occurs when a Illuminate\Broadcasting\BroadcastEvent event is processed from a queue. But it can be simulated by adding the below to AppServiceProvider::boot()
$this->app['Illuminate\Broadcasting\BroadcastManager']->extend('test', function ($app) {
    throw new \Exception();
});

along with the following to the connections array in config/broadcasting.php
'test' => [
     'driver' => 'test',
],

@GrahamCampbell Any reason for the closing of the issue? Is it expected behaviour that a failed broadcast event should get logged in the failed_jobs but not trigger a illuminate.queue.failed event?
These failed events also don't obey the queue --tries switch, as the error is not handled they trigger an extra try.


An Edit button appears when refreshing the API Definition page of an API Product

Description:
An Edit button appears when refreshing the API Definition page of an API Product
Steps to reproduce:

Create an API Product.
Go to the API Definition page. You can see that there is no edit option (which is expected)

Now refresh the page. An edit button will appear.

You can click on it and edit the definition. But when you click on "Update Content" button, it will keep spinning forever.

The solution is to stop displaying the edit button after a page refresh.

Hi @wasuradananjith ,
The import definition button also appears after the refresh. Shall we remove that also?
Thanks,
Tharani

Hi @wasuradananjith ,
The import definition button also appears after the refresh. Shall we remove that also?
Thanks, Tharani

Hi @Tharanidk,
+1. It will be more consistent then.
Thanks,
Wasura Wattearachchi


How to join to guild with invite code

How to join to guild with invite code

Bots can't use invites. They must be added to guilds with oauth2 by someone with the Manage Server permission.

Bots can't use invites. They must be added to guilds with oauth2 by someone with the Manage Server permission.

The github issue tracker is reserved for feature requests and bug reports. Your issue is neither and should be sorted out inside of our discord server. Go to discord.gg/0hMr4ce0tIl3SLv5 to receive the needed help.


[improve][broker] Cache LedgerHandle in BookkeeperBucketSnapshotStorage

PIP: #16763
Motivation
https://github.com/apache/pulsar/pull/20111#pullrequestreview-1386658536
Modifications
Cache this ledger in BookkeeperBucketSnapshotStorage
Verifying this change

[x] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository:

@coderzc we're in code freeze for 3.0. Is this a blocker or fixing a regression from 2.11 ? Otherwise I suggest to move this to 3.1 milestone.

@coderzc we're in code freeze for 3.0. Is this a blocker or fixing a regression from 2.11 ? Otherwise I suggest to move this to 3.1 milestone.

OK, it can be moved to 3.1


Bash console now shows a mix between English and locale'd language

Running the latest Win10 Insider preview. After resetting my bash environment, the console now shows a mix of English and Norwegian (computer is Norwegian locale'd). This is VERY messy.
I can obviously reset it using export LC_ALL=C but I don't think I should have to.
Velger den tidligere bortvalgte pakka «sshpass».
Preparing to unpack .../sshpass_1.05-1_amd64.deb ...
Unpacking sshpass (1.05-1) ...
Processing triggers for man-db (<IP_ADDRESS>-1ubuntu1) ...
Processing triggers for install-info (5.2.0.dfsg.1-2) ...
Setter opp libexpat1:amd64 (2.1.0-4ubuntu1.3) ...
Setter opp libssl1.0.0:amd64 (1.0.1f-1ubuntu2.19) ...
Setter opp libxml2:amd64 (2.9.1+dfsg1-3ubuntu4.8) ...
Setter opp libasan0:amd64 (4.8.4-2ubuntu1~14.04.3) ...
Setter opp libatomic1:amd64 (4.8.4-2ubuntu1~14.04.3) ...
Setter opp libgmp10:amd64 (2:5.1.3+dfsg-1ubuntu1) ...
Setter opp libisl10:amd64 (0.12.2-1) ...
Setter opp libcloog-isl4:amd64 (0.18.2-1) ...
Setter opp libgomp1:amd64 (4.8.4-2ubuntu1~14.04.3) ...
Setter opp libitm1:amd64 (4.8.4-2ubuntu1~14.04.3) ...
Setter opp libmpfr4:amd64 (3.1.2-1) ...

I've filed a task internally to ask the user during install if they'd like to set their locale to match the locale of the Windows install.  In the meantime, you can change the default language for Bash on Ubuntu the same way you would on native Ubuntu:
sudo update-locale LANG=en_US.UTF8

Thanks! I realized this is beyond the scope of Bash on Windows, but MS needs to start realizing that Locale != Displaylanguage. This problem permeates the Windows platform as a whole and is a huge issue for non-english users who prefer English as the display language (which is a LOT of people).

Yes. There is a reason peple have Displaylanguage and Locale set to what it is. Why to you think users set Displaylanguage to a certain language ? As @trondhindenes said.

Really disappointed to see that this didn't make it to the anniversary GA build.

Likewise. Unfortunately this didn't meet the release bug bar at the time. The change will be available in a post Anniversary Update flight.

Thanks for the info @benhillis. You guys are doing awesome work and this is only a very minor hiccup.

Thanks, I'm glad you you're happy with the project.  We have some cool things planned for future releases that I think people are going to really like.

This issue is closed, but not fixed as far as I can tell... I still have to manually switch the language, so Bash doesn't adhere to the "display language" set in Windows' Settings panel.

Which build are you on?  In post-anniversary update builds you will be asked during install if you want to set your Linux locale to match NT.

I do want the locale (Dutch for me) to match. So dates and numbers are formatted in a familiar way. What it doesn't ask is whether or not to match the language (English UK for me), and so it blindly and incorrectly assumes the locale must match the language.
As said before, that not the case for a LOT of people, those who prefer English display language, but their own locale.

I propose to re-open this bug. Microsoft, you need to understand the difference between locale and language.

Good points.  I'll take a look into what can be done to improve this experience.

en_US.UTF8
trond@TROND-X1:~$ env | grep LC_
trond@TROND-X1:~$

@trondhindenes And this is on Ubuntu with locale set to non en_US?  Could you share the full "env" output with me?

martijn@MARTIJN-PC:~$ echo $LANG
en_GB.UTF-8
martijn@MARTIJN-PC:~$ env | grep LC_
martijn@MARTIJN-PC:~$

And if it helps:
martijn@MARTIJN-PC:~$ env
SHELL=/bin/bash
TERM=xterm
USER=martijn
NAME=MARTIJN-PC
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
HOSTTYPE=x86_64
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
PWD=/home/martijn
LANG=en_GB.UTF-8
SHLVL=1
HOME=/home/martijn
LOGNAME=martijn
LESSOPEN=| /usr/bin/lesspipe %s
LESSCLOSE=/usr/bin/lesspipe %s %s
_=/usr/bin/env
martijn@MARTIJN-PC:~$

Thanks!  Just to confirm - Are you running this command from WSL or from a native Ubuntu machine that has your desired configuration?  I want the latter.

@benhillis That was on a machine where I've run the  update-locale  command. I guess what you need to do is to look at the display language of the windows box (again, not locale but display language), for example by reading  HKEY_CURRENT_USER\Control Panel\Desktop\PreferredUILanguages , and configure the language thingy in Ubuntu based on that.

@trodhindenes - I understand that.  What I'm trying to determine is what environment settings on real Ubuntu are used to control locale an display language separately.  Can you confirm you are able to set up a native Ubuntu machine this way?

I can setup a quick install and get you what you need either tonight or tomorrow.

@trondhindenes Thank you very much for the help!

@benhillis Sorry the one I posted is from WSL.

Ok, this is from a native Linux Mint installation (in virtualbox, but good enough). Mint is based on Ubuntu, so it probably qualifies just fine.
martijn@martijn-VirtualBox ~ $ echo $LANG
en_US.UTF-8
martijn@martijn-VirtualBox ~ $ env | grep LC_
LC_PAPER=nl_NL.UTF-8
LC_ADDRESS=nl_NL.UTF-8
LC_MONETARY=nl_NL.UTF-8
LC_NUMERIC=nl_NL.UTF-8
LC_TELEPHONE=nl_NL.UTF-8
LC_IDENTIFICATION=nl_NL.UTF-8
LC_MEASUREMENT=nl_NL.UTF-8
LC_TIME=nl_NL.UTF-8
LC_NAME=nl_NL.UTF-8
martijn@martijn-VirtualBox ~ $

We can already see here, this Dutch locale, and English language. Different things, so native linux can get this right. As expected ;)

@thany Awesome, thank you very much for confirming.  As I suspected if the LC_ variables aren't present Ubuntu defaults to the display language's default locale format for time / date / etc.  There also exists a LC_ALL that can set all of them at once.  From some experimentation it looks like the rules are:
LANG - default if no LC_* values are present
LC_ALL - supersedes all other LC_* value (eg LC_TIME).
LC_* (eg LC_TIME) - change a single locale setting.
@thany and @trondhindenes could you try the below to see if this gets you the behavior you want.  When I did this locally I had English display language and Spanish locale.
sudo update-locale en_US.UTF-8
Add the below to your user's .bashrc (note LC_MESSAGES is commented out)
export LC_PAPER=es_MX.UTF-8
export LC_ADDRESS=es_MX.UTF-8
#export LC_MESSAGES=es_MX.UTF-8
export LC_MONETARY=es_MX.UTF-8
export LC_NUMERIC=es_MX.UTF-8
export LC_TELEPHONE=es_MX.UTF-8
export LC_IDENTIFICATION=es_MX.UTF-8
export LC_MEASUREMENT=es_MX.UTF-8
export LC_TIME=es_MX.UTF-8
export LC_NAME=es_MX.UTF-8

Then restart bash.

OK done!
Before I get the first prompt, bash first lets me know something doesn't exist:
bash: warning: setlocale: LC_NUMERIC: cannot change locale (es_MX.UTF-8): No such file or directory
bash: warning: setlocale: LC_TIME: cannot change locale (es_MX.UTF-8): No such file or directory

So it doesn't complain about those other LC_* variables, strangely. However, all words are still English, and I'm not sure how to test for Spanish locale :)

@thany - Sorry, you'll want to replace es_MX.UTF-8 with nl_NL.UFT-8.  Unless you want to install the Spanish language pack :)

Indeed it works!

Great to hear.  Just thinking out loud here, but do you feel like adding these variables to your .bashrc is a reasonable workaround?  I'd like to avoid adding yet more prompts to the install experience for things that can be easily configured afterwards.

There don't need to be any more prompts. It just needs to respect the Windows settings.

What @thany said. The only reason we are having this discussion is because someone does not respect the difference between language and locale.

Please give this a try on Creators Update and reopen if you are unhappy with the new behavior.


Import models to PyTorch

Hi !
I'm trying to import t7 models into PyTorch, here is steps I tried:

Convert CUDA t7 model to CPU t7 model using this python file.
Convert Torch model to Pytorch, failing using (convert_torch_to_pytorch) and this code:

from torch.utils.serialization import load_lua
model = load_lua('converted_to_cpu.t7',unknown_classes=True)

But it is failing because pytorch's load_lua doesn't support nngraph. How can I resolve it ?
I only can access the weights
import torchfile
stuff = torchfile.load('./model/sync_opengl_nyufinetuen_cpu.t7')
print(stuff)
[-0.29698086 -0.67621917 -0.25750896 ... -0.05081049 -0.6784678
  0.01879489]
print(stuff.shape)
(26421027,)

Thanks,
Elias

Sorry I am not familiar with PyTorch, especially about model converting from Torch. I tried my to understand, and seems that your problem is related with nngraph. It is true that nngraph is somehow tricky to play with, and a possible solution is to use a non-nngraph version of the model and see if it can be converted to PyTorch successfully. However, I don't have such a model ready to use, and you probably need to retrain the model.

Thanks for your reply @yindaz !
A last question, do you know any method to run your model using Python without retrain ?
Thanks,
Elias

Sorry I don't have much experience on that. But may I know why do you need to run it in PyTorch? You can always get the result using the provided testing function. Hope it helps!

I hope to integrate it with other trained models to build a system that reconstruct a 3D scene from a single RGB image. I need Python to achieve it and hope to make it all in Python.
Best,
Elias

I see. I am sure there are many elegant way to deal with it. But in case your want a hack, calling it from the command line and read in the result from the disk might work.

@nestarz Hi, do you solve this problem? I also want to use this model in pytorch.


[#1364] Move Java generators from Samples to "generators" - Echo bot

Addresses #1364
#minor
Description
This PR adds the java generator project and the Echo bot from the BotBuider-Samples repository.
It also includes the root documentation for the generators folder.
Detailed Changes

Added LICENSE, and README docs.
Added .gitignore, app/index.js, and  package.json for the generator's project.
Added target folder.
Added generators/app/templates/echo folder.

Testing
These images show the echo bot being generated and working.

Hi @BruceHaley, this is the first PR of the series to move the java generators from BotBuilder-Samples. Please let us know if you have any questions.
Thanks!


chore: Updated styles per v2.0.0

Per discussions with Joe and Mallory, only the styles that drawer CURRENTLY contains were changed.

Pending the outcome of the checks, it looks good to me.

Coverage remained the same at 69.364% when pulling 26b66eac7076233f2bb9bb0d5642a4a799af1383 on DES-475 into c5fda6cd43446b510c059b6b430e125cddab0b5d on master.

look good.
Ignore my repeat of those drawer styles in the con-help PR, that's temporary. :P


Batch mutiple token addresses per request

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

44 of 46 (95.65%)  changed or added relevant lines in 3 files are covered.
6 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.05%) to 90.999%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/datasources/prices-api/coingecko-api.service.ts
29
31
93.55%

Files with Coverage Reduction
New Missed Lines
%

src/domain/balances/balances.repository.ts
2
96.59%

src/routes/transactions/entities/tests/human-description.builder.ts
4
60.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.05%

Covered Lines:
5056

Relevant Lines:
5417

💛  - Coveralls