[FEAT REQ] Add Utility Method to Convert xsync.MapOf to a Regular Go Map

The xsync.MapOf is a concurrent-safe map, but for use cases where a regular map is needed (e.g., serialization or interactions with non-concurrent code), it would be very convenient to have a built-in method for this conversion.
This would improve usability and reduce boilerplate code in user applications.
Currently, to convert an xsync.MapOf[K, V] to a regular Go map (map[K]V), I would have to manually iterate over the xsync.MapOf using the Range method, like so:
func xSyncMapToMap[K comparable, V any](x *xsync.MapOf[K, V]) map[K]V {
	goMap := make(map[K]V)
	//
	x.Range(func(key K, value V) bool {
		goMap[key] = value
		return true //Continue iteration
	})
	return goMap
}

It would be helpful if the library could provide a utility method that simplifies this process, such as:
func (m *MapOf[K, V]) ToMap() map[K]V

Is this safe to do? What do you think?

+1 on this. It would also help me in my unit tests, where I want to compare a result MapOf with an expected MapOf. If I can convert to regular maps, I can then use reflect.DeepCompare, without the need of a specific method .Equal()


terraform lexer errors on heredoc

Terraform lexer has problems when heredoc templates start with "<<" instead of "<<-", to prove i applied the following patch:
index 1d73734d..ab0ba809 100644
--- a/tests/snippets/terraform/test_heredoc.txt
+++ b/tests/snippets/terraform/test_heredoc.txt
@@ -1,6 +1,6 @@
 ---input---
 resource "local_file" "heredoc" {
-  content = <<-DOC
+  content = <<DOC
     heredoc content
     DOC
 }

And the parser showed alot of errors in the tests:
========================================== FAILURES ===========================================
__________________________ tests/snippets/terraform/test_heredoc.txt __________________________
The tokens produced by the "terraform" lexer differ from the expected ones in the file "tests/snippets/terraform/test_heredoc.txt".
Run `pytest tests/snippets --update-goldens` to update it.

    'resource'    Keyword.Reserved
    ' '           Text.Whitespace
    '"local_file"' Name.Class
    ' '           Text.Whitespace
    '"heredoc"'   Name.Variable
    ' '           Text.Whitespace
    '{'           Punctuation
    '\n'          Text.Whitespace

    '  '          Text.Whitespace
    'content'     Name.Attribute
    ' '           Text.Whitespace
    '='           Operator
    ' '           Text.Whitespace
  - '<<-'         Operator
  ?    -
  + '<<'          Operator
  ?     +
    'DOC'         Literal.String.Delimiter
    '\n'          Literal.String.Heredoc

  - '    heredoc content\n' Literal.String.Heredoc
  + '    heredoc content\n' Error

  - '    DOC\n'   Literal.String.Delimiter
  + '    DOC\n'   Error
  +
  + '}\n'         Error
  +
  + '    '        Text.Whitespace
  + 'h'           Error
  + 'e'           Error
  + 'r'           Error
  + 'e'           Error
  + 'd'           Error
  + 'o'           Error
  + 'c'           Error
  + ' '           Text.Whitespace
  + 'c'           Error
  + 'o'           Error
  + 'n'           Error
  + 't'           Error
  + 'e'           Error
  + 'n'           Error
  + 't'           Error
  + '\n'          Text.Whitespace
  +
  + '    '        Text.Whitespace
  + 'D'           Error
  + 'O'           Error
  + 'C'           Error
  + '\n'          Text.Whitespace

    '}'           Punctuation
    '\n'          Text.Whitespace
=================================== short test summary info ===================================
FAILED tests/snippets/terraform/test_heredoc.txt::

According to the spec both are valid introductions to heredoc templates.

From the spec you linked:

The heredoc template expression type is introduced by either << or <<-, followed by an identifier. The template expression ends when the given identifier subsequently appears again on a line of its own.

If a heredoc template is introduced with the <<- symbol, any literal string at the start of each line is analyzed to find the minimum number of leading spaces, and then that number of prefix spaces is removed from all line-leading literal strings. The final closing marker may also have an arbitrary number of spaces preceding it on its line.

This reads to me as if your changed test is not valid, since the final delimiter DOC appears not at the start of a line, which is not allowed in heredocs starting with <<.

The terraform tool accepts that style without problems though:
[michael.hoffmann@fedora ~]$ terraform fmt test.tf
test.tf
[michael.hoffmann@fedora ~]$ cat test.tf
resource "foo" "bar" {
  x = <<EOF
    testing
  EOF
}

Ah testing with DOC without leading whitespace works though! I get what you say

Fixed!

Thanks @birkenfeld !


Is this a bug about this.del function

https://github.com/ptarjan/node-cache/blob/27a1eeec18660b45d39cc5daf44d9647e696e48b/index.js#L53
When a record is about to expire, we take the initiative to delete it. And due to the running time of the program, oldRecord.expire < Date.now() === true, so the record will not be deleted.

Yeah, that seems silly to me. If you’re manually invoking a delete function then jr shouldn’t matter wether or not the record is expiring. It should delete it regardless

I think it’s an interesting idea to have a method that won't delete a key if it isn't expired. But it’s really strange when you don't have an opportunity to delete something that doesn’t expired.  In my similar package memory-cache-pro you can use the ‘delete(key)’ method to delete something and it doesn’t check the key expiration time


Develop

Hello,
I have create a new folder with same content as the root folder of your repository, translated in Greek language.
I think this will drive more  traffic in your repository, and of course, will help greek developers to understand what's new on ES6.
I hope this is nice for you.
Kind regards
Merianos Nikos

Thanks for this!  There have been a few translations so far.  I think what might be a better approach instead of contributing them all to folders in this repo is to maintain separate repos for the translations, and then we can link to translations from the intro of this repo's readme.
For example, I'd be happy to link to https://github.com/MrStigmaHost/es6features/blob/master/el/README.md from the main doc.
How does that sound?

Hello lukehoban,
thanks for your reply.
I just though was a better approach, for give to you the glory of that project :) By seperation, I think you can loss of that.
But anyway, tell me what is your thoughts behind that, and I will do the appropriate steps ;)
Kind regards
Merianos Nikos


Change package name to humbug

Although I'm not really sure if it's worth to deprecate a package just for the change name...

Weirdly, I checked this last night out of curiousity. You can change a package name, but only by abandoning the old one on Packagist, i.e. it's marked abandoned and there's no guarantee downstream users would switch names in any timely fashion. Probably not worth it. I understand Packagist can't do aliasing/redirects because they have some security around package name spoofing.

bamarni/composer-bin-plugin - is there an post-install command using it to be added?

Potato potato... there is no clear win in doing this.  I vote for not renaming.


AA on axis aligned 1px width strokes incorrect

nvgStroke on a perfectly vertical (or horizontal) line creates a 2px stroke when width is set to 1.
The line on the right side of the screen shot is the expected behavior, created with nvgFill on a 1px wide rect.
repro code:
vg = nvgCreateGL3(NVG_ANTIALIAS | NVG_STENCIL_STROKES);
nvgBeginFrame(vg, winWidth, winHeight, 1);
// incorrect rendering
nvgStrokeWidth(vg, 1);
nvgBeginPath(vg);
nvgRect(vg, 55, 35, 50, 50);
nvgMoveTo(vg, 100, 200);
nvgLineTo(vg, 100, 300);
nvgStroke(vg);
// correct rendering
nvgBeginPath(vg);
nvgFillColor(vg, nvgRGBA(0, 0, 0, 255));
nvgRect(vg, 300, 100, 1, 100);
nvgFill(vg);

If you want to draw crisp lines, you need to draw them at half pixels. At first it sucks, but if you think about it, it makes total sense. A stoke is rendered as line expanded both directions by half width.
So try this instead:
nvgMoveTo(vg, 100.5f, 200);
nvgLineTo(vg, 100.5f, 300);

thanks so much! going to close this issue.


export to gnuplot data format

Is it possible to export the energy, k, spectral weight to gnuplot unfold.dat format, likewise we have for sumo (energy vs k) as band.dat?

Hi @nityasagarjena,
Yes this is possible through the python API, with the UnfoldKSet.get_spectral_function() and UnfoldKSet.get_spectral_weights() functions, and you can see how these are used in easyunfold.cli and easyunfold.plotting. But it is not automated via CLI like sumo – I'm not sure if @zhubonan plans to add this in the future


Updated Advertisement documentation

Description
This PR fixes some broken links in the documentation
The images in advertisement management section are still not displayed for unknown reason

/rebase


Windows 7: tray icon pixelated

See attached:

@asaadmahmoodspin, maybe have your help here replacing assets with new Mattermost logo, and maybe trying to tweak the sizing to get the right effect?

Cool.

JFYI, the icon looks correct on Windows 10.

Does @it33's Windows use higher DPI? I think High Resolution Image may help this.

Thanks @yuya-oc, I might be on a higher DPI. I think it makes sense to add the High Resolution Image as you propose. Also, the Mattermost logo has been recently updated, so we might ask @asaadmahmoodspin's help to update all the assets.

I have found an issue on Electron. It seems that I can't fix this issue yet.
https://github.com/atom/electron/issues/2248

The assets are already updated, but i think even the updated high resolution assets won't fix this.

I tried 2x icons in my side. High-res icon fixes the pixelated icon in HiDPI environment, but it's pixelated in Normal DPI environment.


Problems with file version reading

I built a static site with vite-ssg, but when I updated a version, I found that the site couldn't read the new version of the file because it still read the old resources.
By tracing the browser load entry, I found that the file was read from inside the serverworker cache.
Is this a problem with the build process, and what should I do to get the browser to automatically load the latest version of the file?

See https://github.com/antfu/vite-plugin-pwa#automatic-reload-when-new-content-available
Close as it's not related to this project


Initial support for property & schema dependencies

Reasons for making this change
JSON Schema supports property and schema dependencies which allow changing the schema for an object (even a single object within an array of objects) based on the presence or value of certain properties.
This change brings initial support for property dependencies and schema dependencies which allows developers to define conditionally required fields, conditionally present fields, and dynamic schemas (e.g. changing a property type based on the value of another field).
See #616 and #430 (see also #522).
Checklist
This is a work in progress but I am looking for some initial feedback as I have not contributed to this project before and I am looking for early feedback on the implementation, etc.

[ ] I'm updating documentation

[ ] I've checked the rendering of the Markdown text I've added
[ ] If I'm adding a new section, I've updated the Table of Content

[ ] I'm adding or updating code

[x] I've added and/or updated tests
[ ] I've updated docs if needed
[x] I've run npm run cs-format on my branch to conform my code to prettier coding style

[x] I'm adding a new feature

[x] I've updated the playground with an example use of the feature

Using that in my project now. Works great. Happy to provide any needed help for merging this.

I've seen it argued in other issues such as https://github.com/mozilla-services/react-jsonschema-form/issues/430 that instead of using schema dependencies you can dynamically change the schema when data changes. This is indeed very powerful. But I've added a note there with some use cases for dependencies.

@glasserc I took a quick glance at your input and I totally agree I've just been pretty busy this week with other things. I should be able to make some updates soon though. Thanks!

Things I still need to do:

[ ] update README.md to explain special oneOf usage in dependencies only
[ ] address "Warning: Failed prop type: The prop id is marked as required in BaseInput, but its value is undefined."
[ ] re-review previous comments and code and see what else can be cleaned up

Thank you for the feedback, please feel free to reiterate and/or provide additional feedback as some of the decisions I've made in an attempt to "improve" things might not have been the best decisions. 😄

Hmmm, I'm not sure why the build is working but I'm not going to look at this again until at least tomorrow so it can wait until at least then.

Okay, this appears ready to be reviewed again.

I took the liberty of adding a little bit of documentation to the README explaining in the vaguest possible terms how this works and fixed up a few stylistic nits that bothered me. The tests seem to pass, so I'm merging it. Thanks so much for your work on this!

Awesome. I'm happy you've made the additions. This is really great and thank you all for supporting the change!

I think the hasOwnProperty change may have caused a hiccup though. Please see my comment on your commit. Thank you.

Just out of curiosity, how soon might we be able to get the latest version deployed to the playground? Thanks!

Guys, very nice feature to have. Any idea when this will be released?

@glasserc This appears to be published to npm. I'm curious how we get the playground updated. Do you know? Thanks.

Sorry, I forgot to push it to the playground. It should be up now.

Thanks!


Byte-range support for iOS compatibility

There were already a few discussions about supporting Byte-range (content-range / partial-range) a few years ago. For now, tus and tusd don't implement support for it, which is understandable in the respective context:

https://github.com/tus/tus-resumable-upload-protocol/issues/2: "Range" vs. "Content-Range"
https://github.com/tus/tus-resumable-upload-protocol/issues/116: Upload-Offset vs Range?
https://github.com/tus/tusd/issues/296: Upload to tusd behind HTTPS reverse proxy disconnects with EOF

The decision to not support Byte-range leads to another nasty side-effect on our "favourite" mobile operating system iOS: Media files (audio / video) stored on tus can not be played on iOS!

HTTP servers hosting media files for iOS must support byte-range requests, which iOS uses to perform random access in media playback. (Byte-range support is also known as content-range or partial-range support.) Most, but not all, HTTP 1.1 servers already support byte-range requests.

This renders tus unusable for e.g. storing video / audio notes through a mobile app and enabling the user to play the respective files without downloading them in advance.

Hi,
This seems unrelated to this repository as tus is a protocol for file uploads and you are asking for are headers related to downloading files which is out of scope for the protocol.
I think your chances are better at getting a response if asked in the specific server implementation being used (e.g. https://github.com/tus/tusd).

Thank you @smatsson for the heads-up. I close this one in reference to https://github.com/tus/tusd/issues/432 :+1:


Have To Clear Cache After Creating New Redirect

I am running Sitecore 8.0, Update 4.
After creating a new Simple Redirect it does not work -- until I manually go in and clear the cache via sitecore/admin/cache.aspx
After clearing the cache it works fine.
Shouldn't this be handled automatically by the module?

Actually on my staging server this does not appear to work at all!   I have cleared the cache, tried restarting IIS, tried restarting the server, even tried reinstalling the module.
My redirect was created in the folder created by the module (Sample Redirects) and is called test.   It is a Simple Redirect that points to 'http://www.google.com'

I note this error in the UrlRewrite logs:
 3864 14:56:32 INFO  UrlRewrite[production.master]::Refreshing Simple Redirect [/sitecore/content/URL Management/Test] after save event 3864 14:56:32 ERROR UrlRewrite[production.master]::Exception occured when saving item after save - Item ID: {66508B17-8440-4071-810E-6F46AEA46272} Item Path: /sitecore/content/URL Management/Test Exception: System.ArgumentNullException Message: Value cannot be null. Parameter name: innerField Source: Sitecore.Kernel    at Sitecore.Diagnostics.Assert.ArgumentNotNull(Object argument, String argumentName)    at Sitecore.Data.Fields.CustomField..ctor(Field innerField)    at Hi.UrlRewrite.Templates.BaseEnabledItem.get_Enabled() in c:\projects\UrlRewrite\Hi.UrlRewrite\Templates\BaseEnabledItem.cs:line 42    at Hi.UrlRewrite.Processing.RulesEngine.CreateInboundRuleFromSimpleRedirectItem(SimpleRedirectItem simpleRedirectItem, RedirectFolderItem redirectFolderItem) in c:\projects\UrlRewrite\Hi.UrlRewrite\Processing\RulesEngine.cs:line 167    at Hi.UrlRewrite.Processing.RulesEngine.GetInboundRules() in c:\projects\UrlRewrite\Hi.UrlRewrite\Processing\RulesEngine.cs:line 73    at Hi.UrlRewrite.Processing.RulesEngine.UpdateRulesCache(Item item, Item redirectFolderItem, Action3 action) in c:\projects\UrlRewrite\Hi.UrlRewrite\Processing\RulesEngine.cs:line 298
at Hi.UrlRewrite.Processing.RulesEngine.RefreshRule(Item item, Item redirectFolderItem) in c:\projects\UrlRewrite\Hi.UrlRewrite\Processing\RulesEngine.cs:line 281
at Hi.UrlRewrite.Processing.UrlRewriteItemEventHandler.RunItemSaved(Item item, ItemChanges itemChanges) in c:\projects\UrlRewrite\Hi.UrlRewrite\Processing\UrlRewriteItemEventHandler.cs:line 82
`

Did you make sure to publish the entire site?  It should include templates that need to be published.  They are located at /Sitecore/templates/User Defined/UrlRewrite.

Also, clearing the cache manually is not necessary.  This is handled entirely in the item saved and item saved remote events.

This has been fixed with the latest release.
https://github.com/iamandycohen/UrlRewrite/commit/e89a4bcf77551e11a007ebc9235aa98e081e15b9


feat: rolldown plugin compat (wip)

https://github.com/users/hi-ogawa/projects/4/views/1?pane=issue&itemId=76322827

Checking rolldown plugin compatibility. Some issues might be on rolldown side.

https://github.com/rolldown/rolldown/issues/2067

Happen to stumble upon this. Happy to make any changes (or accept contributions) to my plugin to make it rolldown compatible. I have been collaborating with the core federation team for some time now. LMK if I can contribute in any way.

@MadaraUchiha-314 Thanks for chiming in! As you've probably seen on https://github.com/rolldown/rolldown/discussions/153, Rolldown team plans to support module federation. I'm currently investigating to see if there's any fundamental feature missing internally in Rolldown. Eventually they want to have it as a "builtin plugin", but for now, I'm starting from your rollup plugin to learn and gather ideas, and also doing some test runs directly on Rolldown.
As I've wrote above, Rolldown is currently missing a few rollup plugin compatibilities (cf. https://github.com/rolldown/rolldown/issues/819). Some are planned to be addressed but some might not. Depending on the progress, it might be faster to modify your rollup plugin to make it usable on Rolldown. Also if something is really needed from Rolldown, I can let team know and they might be able to adjust priorities.
At this point, I'm in the research stage, so I'm putting my experimentation code on my fork's PR. But if there's something I can reasonably contribute back to your plugin, then I'll do it so. Thanks for the offer to help!

At the technical level, I think one blocker is the lack of manualChunks. The team is working on that, but until it's available, I'm just trying to get through other things.


For eclim, if there are many projects(:ProjectsTree), show all project names.

A simple improve. :laughing:

Is there any progress here?

i am going to close this soon.


✨ support setting proxy between hub and managed cluster

Summary
Related issue(s)
Fixes #

/hold

/unhold


How to change background color of tab layout

In Collapsing Toolbar - Sliver App Bar, cannot change background color of tabs.

https://stackoverflow.com/a/54582062/666221


thumbnails are broken with 4-character extensions

specifically 'jpeg'
I think it can be fixed by changing $thumb = preg_replace('/(.*)\.([A-Za-z]{3})$/',"$1" . "_thumb." . "$2",$orig); to $thumb = preg_replace('/(.*)\.([A-Za-z]{3}.?)$/',"$1" . "_thumb." . "$2",$orig);

@ComradeEcho what do you mean by broken? I have just deployed current version with some random images and everything seems to work well. Which OS are you using?

I'm not 100% sure what's going on, but they don't resize properly (or perhaps at all?) - resulting in thumbnails not showing the whole image - being too zoomed in.
I came across this with.JPEG files uploaded to my server from my iPhone - fixed after modifying the regex to recognize 4-character extention rather than just 3
Let me know if you still have issues reproducing, and I can revert my installation and take a screenshot

Please take a screenshot, I couldn't notice any difference with those both lines. Thumbnails are not showing full image, that's right. There's soom to the shorter edge and then rectangular frame is taken. I believe that it's by design.

okay, I have reproduced it by reverting the change
It appears that when it attempts to load an image with a four-character extension it's displaying the top left corner of the whole image, rather than creating a thumbnail
The working thumbnails in this example are all jpg/png, while the broken ones are jpeg
Broken thumbnails due to four-character extensions:

Fixed thumbnails by altering the regex to recognize four-character extensions such as .jpeg

#16 I made a pull request for this fix here

I'll try to reproduce it tomorrow. Nevertheless It's not my repository, I'm only a guest here :D
btw. I have marked this issue in your PR so it'll be automatically closed after merge.

Thanks. When reproducing this, you may or may not need to clear out the _thumb files that already exist to get the software to attempt to re-create them. I'm not sure if that matters in this case, if the software never creates thumbnails for .jpeg files in the first place. I did this in my own testing just to be sure.

Hey there, first off, huge thanks for taking an interest in something I
wrote, and second for finding the issue!
Sorry I didn't jump in and help. I'll check out the pr tonight and merge it
as long as it looks good!
Sincerely,
Michael Moore / stuporglue
On Wed, Oct 28, 2020, 12:35 ComradeEcho<EMAIL_ADDRESS>wrote:

Thanks. When reproducing this, you may or may not need to clear out the
_thumb files that already exist to get the software to attempt to re-create
them. I'm not sure if that matters in this case, if the software never
creates thumbnails for .jpeg files in the first place. I did this in my own
testing just to be sure.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/stuporglue/InstaGallery/issues/15#issuecomment-718094862,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAEBQBMYBMIDMLCIAC2LELSNBI4TANCNFSM4PSP6FQQ
.


Need get report method by job ID and hash

There are 2 methods required for the following APIs:
https://<MATD_IP>/php/showreport.php?jobId=10&iType=json
https://<MATD_IP>/php/showreport.php?md5=E2CFE1C89703352C42763E4B458FC356&iType=html

Thanks for your feedback. I'll review these after the NY holidays. At the time I initially created the library, showreport for jobId didn't return anything more than what jobstatus returns.
MD5 report makes sense. API guide does not definitely says what is returned for this type of query. I believe it should be the same as for iTaskId = "latest task with the respective hash value".


⚠ Empornium has degraded performance

In d8bd753, Empornium ($EMP) experienced degraded performance:

HTTP code: 200
Response time: 1410 ms

Resolved: Empornium performance has improved in b50f48d.


Add files via upload

Hi, @junior12san, the deadline for making a pull request was on Saturday. So I'm closing this


Tolerate unsuccessful _clear_uncommitted_blocks

Better handle the case where _clear_uncommitted_blocks returns with an unsuccessful HttpResponse.
Currently this will raise a KeyError because the etag header is missing.

I preserved the apparent intention to silently tolerate an unsuccessful _clear_uncommitted_blocks.  (This is what happens in the other case when None is returned.). If this should be rethought PLMK.
An alternative implementation would be to intercept the 4xx HTTP status code [from the last request] inside_clear_uncommitted_blocksand returnNone`, such as is done in the other two cases.


Retrieve frames in high quality

Hello,
Thank you for this very useful work.
I can't seem to increase the quality of the videos. Is there a solution to have high quality images?

This helps?
https://discuss.streamlit.io/t/new-component-streamlit-webrtc-a-new-way-to-deal-with-real-time-media-streams/8669/74?u=whitphx
though, ultimately, the resolution is determined under the tradeoff between the quality and frame rate/latency by the WebRTC API under the hood, as this library does not touch the deep config of it.


Create and send new messages

Be able to send a new message to a queue or topic. Great for testing or DR

For the record, I actually implemented the POSTs for this over a year ago, just needs a simple UI on the top. In the mean-time, you can POST to queue/{qid} or topic/{tid} with postman or similar. The shape of the Message is the same as all other usages, so you can see the shape using fiddler or dev tools (or just interpret the Message type)


Build failure: ‘jl_current_module’ was not declared in this scope; did you mean ‘jl_core_module’?

┌ Error: Error building `Xtensor`, showing the last 100 of log:
│ -- Detecting C compile features - done
│ -- Check for working CXX compiler: /usr/bin/g++
│ -- Check for working CXX compiler: /usr/bin/g++ -- works
│ -- Detecting CXX compiler ABI info
│ -- Detecting CXX compiler ABI info - done
│ -- Detecting CXX compile features
│ -- Detecting CXX compile features - done
│ -- xtensor-julia v0.8.2
│ -- Found xtl: /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/usr/include/xtl
│ -- Found xtensor: /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/usr/include/xtensor
│ -- Found Julia executable: /home/chriselrod/Documents/languages/julia/usr/bin/julia
│ -- Julia_VERSION_STRING: 1.3.0
│ -- Julia_INCLUDE_DIRS:   /home/chriselrod/Documents/languages/julia/usr/include/julia
│ -- Julia_LIBRARY_DIR:    /home/chriselrod/Documents/languages/julia/usr/lib
│ -- Julia_LIBRARY:        /home/chriselrod/Documents/languages/julia/usr/lib/libjulia.so
│ -- JULIA_HOME:           /home/chriselrod/Documents/languages/julia/usr/bin
│ -- Julia_LLVM_VERSION:   v8.0.0
│ -- Julia_WORD_SIZE:      64
│ -- Found Julia: /home/chriselrod/Documents/languages/julia/usr/lib/libjulia.so (found version "1.3.0")
│ -- Found JlCxx:
│ -- Configuring done
│ -- Generating done
│ -- Build files have been written to: /home/chriselrod/.julia/packages/Xtensor/7Cfvz/builds/xtensor-julia
│ Install the project...
│ -- Install configuration: ""
│ -- Installing: /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/usr/include/xtensor-julia/jlarray.hpp
│ -- Installing: /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/usr/include/xtensor-julia/jlcontainer.hpp
│ -- Installing: /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/usr/include/xtensor-julia/jltensor.hpp
│ -- Installing: /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/usr/include/xtensor-julia/jlvectorize.hpp
│ -- Installing: /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/usr/include/xtensor-julia/xtensor_julia_config.hpp
│ -- Installing: /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/usr/lib/cmake/xtensor-julia/xtensor-juliaConfig.cmake
│ -- Installing: /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/usr/lib/cmake/xtensor-julia/xtensor-juliaConfigVersion.cmake
│ -- Installing: /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/usr/lib/cmake/xtensor-julia/xtensor-juliaTargets.cmake
│ -- The C compiler identification is GNU 9.1.1
│ -- The CXX compiler identification is GNU 9.1.1
│ -- Check for working C compiler: /usr/bin/gcc
│ -- Check for working C compiler: /usr/bin/gcc -- works
│ -- Detecting C compiler ABI info
│ -- Detecting C compiler ABI info - done
│ -- Detecting C compile features
│ -- Detecting C compile features - done
│ -- Check for working CXX compiler: /usr/bin/g++
│ -- Check for working CXX compiler: /usr/bin/g++ -- works
│ -- Detecting CXX compiler ABI info
│ -- Detecting CXX compiler ABI info - done
│ -- Detecting CXX compile features
│ -- Detecting CXX compile features - done
│ -- Performing Test HAS_CPP14_FLAG
│ -- Performing Test HAS_CPP14_FLAG - Success
│ -- Found Julia executable: /home/chriselrod/Documents/languages/julia/usr/bin/julia
│ -- Julia_VERSION_STRING: 1.3.0
│ -- Julia_INCLUDE_DIRS:   /home/chriselrod/Documents/languages/julia/usr/include/julia
│ -- Julia_LIBRARY_DIR:    /home/chriselrod/Documents/languages/julia/usr/lib
│ -- Julia_LIBRARY:        /home/chriselrod/Documents/languages/julia/usr/lib/libjulia.so
│ -- JULIA_HOME:           /home/chriselrod/Documents/languages/julia/usr/bin
│ -- Julia_LLVM_VERSION:   v8.0.0
│ -- Julia_WORD_SIZE:      64
│ -- Found Julia: /home/chriselrod/Documents/languages/julia/usr/lib/libjulia.so (found version "1.3.0")
│ -- Configuring done
│ -- Generating done
│ -- Build files have been written to: /home/chriselrod/.julia/packages/Xtensor/7Cfvz/builds/xtensor-julia-examples
│ Scanning dependencies of target tensors
│ [ 50%] Building CXX object CMakeFiles/tensors.dir/tensors.cpp.o
│ In file included from /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/xtensor-julia-examples/tensors.cpp:16:
│ /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/usr/include/xtensor-julia/jlarray.hpp: In static member function ‘static jl_datatype_t* jlcxx::static_type_mapping<xt::jlarray<T> >::julia_type()’:
│ /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/usr/include/xtensor-julia/jlarray.hpp:459:31: error: ‘jl_current_module’ was not declared in this scope; did you mean ‘jl_core_module’?
│   459 |                 jl_get_global(jl_current_module, jl_symbol("Array")),
│       |                               ^~~~~~~~~~~~~~~~~
│       |                               jl_core_module
│ gmake[2]: *** [CMakeFiles/tensors.dir/build.make:63: CMakeFiles/tensors.dir/tensors.cpp.o] Error 1
│ gmake[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/tensors.dir/all] Error 2
│ gmake: *** [Makefile:130: all] Error 2
│ [ Info: Attempting to create directory /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/../builds/xtl
│ [ Info: Changing directory to /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/../builds/xtl
│ [ Info: Attempting to create directory /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/../builds/xtensor
│ [ Info: Changing directory to /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/../builds/xtensor
│ [ Info: Attempting to create directory /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/../builds/xtensor-julia
│ [ Info: Changing directory to /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/../builds/xtensor-julia
│ [ Info: Attempting to create directory /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/../builds/xtensor-julia-examples
│ [ Info: Changing directory to /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/../builds/xtensor-julia-examples
│ ERROR: Error while loading expression starting at /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/build.jl:112
│ caused by [exception 1]
│ failed process: Process(`cmake --build . --config Release --target install`, ProcessExited(2)) [2]
│
│ Stacktrace:
│  [1] pipeline_error at ./process.jl:819 [inlined]
│  [2] #run#541(::Bool, ::typeof(run), ::Cmd) at ./process.jl:734
│  [3] run(::Cmd) at ./process.jl:732
│  [4] run(::BinDeps.SynchronousStepCollection) at /home/chriselrod/.julia/packages/BinDeps/ZEval/src/BinDeps.jl:521 (repeats 3 times)
│  [5] satisfy!(::BinDeps.LibraryDependency, ::Array{DataType,1}) at /home/chriselrod/.julia/packages/BinDeps/ZEval/src/dependencies.jl:944
│  [6] satisfy!(::BinDeps.LibraryDependency) at /home/chriselrod/.julia/packages/BinDeps/ZEval/src/dependencies.jl:922
│  [7] top-level scope at /home/chriselrod/.julia/packages/BinDeps/ZEval/src/dependencies.jl:977
│  [8] include at ./boot.jl:328 [inlined]
│  [9] include_relative(::Module, ::String) at ./loading.jl:1094
│  [10] include(::Module, ::String) at ./Base.jl:31
│  [11] include(::String) at ./client.jl:431
│  [12] top-level scope at none:5
│ Building xtl
│ Building xtensor
│ Building xtensor-julia
│ Building xtensor-julia-examples
│
│ Full log at /home/chriselrod/.julia/packages/Xtensor/7Cfvz/deps/build.log
└ @ Pkg.Operations ~/Documents/languages/julia/usr/share/julia/stdlib/v1.3/Pkg/src/backwards_compatible_isolation.jl:626

Thanks for reporting @chriselrod . This is weird that it is not hitting us in our tests.
@barche removed all references to jl_current_module in CxxWrap in commit https://github.com/JuliaInterop/libcxxwrap-julia/commit/5e639d33a8476f230d629d2e771e7bb8daa56360
We should probably look into if that function was removed from Julia's C API.

cf https://github.com/JuliaInterop/CxxWrap.jl/pull/103

Line 459 of jlarray.hpp in the xtensor-julia library references jl_current_module.

Yep, thanks :)

I removed this because it was no longer officially supported in Julia, and indeed it seems to be gone in Julia 1.1.

OK, so it really stopped working with Julia 1.1. Thanks for the heads up. I will look at what needs to be done instead.

For CxxWrap I had to convert some functions to macros, which allows using the __module__ hidden macro argument: https://docs.julialang.org/en/v1/manual/metaprogramming/#Macro-invocation-1

Thanks @barche! This is now fixed. I am pushing out a release of Xtensor.jl including that change.


annotations being mis-indented when added or overridden in --values

when annotations are included in --values, generated blocks look like this (have 4 spaces):
annotations:
    konghq.com/protocol: "https"
    service.beta.kubernetes.io/azure-dns-label-name: "test-domain"

Merged into next; will be addressed by the 1.11 Kong chart release.


TypeError: pairwise_distances() got an unexpected keyword argument 'squeeze'

After installing from Conda and copy-pasting the example for Chamfer distance, the following error is thrown.
TypeError: pairwise_distances() got an unexpected keyword argument 'squeeze'
Running on GPU enabled Windows 10 machine. Below is the full example from the main page:
import point_cloud_utils as pcu
import numpy as np
a = np.random.rand(100, 3)
b = np.random.rand(100, 3)
chamfer_dist = pcu.chamfer(a, b)

Thanks for the bug report!I just fixed this issue. I'm going to cut a new release soon with some other fixes. I'll let you know when you can grab the latest!


How to connect to database from host

I have created a docker container using the following script:
docker run -d --name oracle_db \
-p 1521:1521 \
-e ORACLE_RANDOM_PASSWORD="y" \
-e APP_USER="my_user" \
-e APP_USER_PASSWORD="my_password" \
gvenzl/oracle-xe

I can connect to the database after exec'ing into the container:
$ docker exec -ti oracle_db bash
bash-4.4$ sqlplus my_user/my_password@localhost:1521/XEPDB1

SQL*Plus: Release <IP_ADDRESS>.0 - Production on Sun Apr 9 16:27:07 2023
Version <IP_ADDRESS>.0

Copyright (c) 1982, 2021, Oracle.  All rights reserved.

Last Successful login time: Sun Apr 09 2023 16:23:08 +00:00

Connected to:
Oracle Database 21c Express Edition Release <IP_ADDRESS>.0 - Production
Version <IP_ADDRESS>.0

SQL>

However I can't connect to the database from the host. I have tried setting the host to localhost, <IP_ADDRESS> and I get the following error message:
error_num = 6005, context_error_message = 'DPY-6003: SID "XEPDB1" is not registered with the listener at host "<IP_ADDRESS>" port 1521. (Similar to ORA-12505)'
cause = OperationalError(<oracledb.errors._Error object at 0x11c0a0130>), args = {}
message = 'DPY-6005: cannot connect to database.\nDPY-6003: SID "XEPDB1" is not registered with the listener at host "<IP_ADDRESS>" port 1521. (Similar to ORA-12505)'
exc_type = <class 'oracledb.exceptions.OperationalError'>

Any thoughts?

All fixed - I should have used the service name instead!

I did face the similar error while connecting using java drivers. It worked after using following format of conn string
Driver :  oracle.jdbc.OracleDriver
Working Connection String:  jdbc:oracle:thin:@localhost:1521/XEPDB1
I was using this format : jdbc:oracle:thin:@localhost:1521:XEPDB1


Place file name above folder path

I have never worked on atom extensions before, you may want to make this an optional behavior that you can toggle in the settings (?)

Fixes #13


Alternative Parameter Description Style

Is your feature request related to a problem? Please describe.
I wonder whether this project could support the parameter description style of sphinx-autodoc instead of a large table.
Describe the solution you'd like
Currently, mkdocstrings produces the signature in a table:

 Name
	 Type
	 Description
	 Default

 foo
	 Optional[FooType]
	 Foo description!
	 None

I want to have this sphinx style. (the default part can be thrown away)

foo (Optional[FooType], optional = None): Foo description!

Describe alternatives you've considered
I can write my own templates, but I think adding official support could be very nice!

Already possible with the new handler: docstring_section_style: list. Closing, feel free to comment further!

Already possible with the new handler: docstring_section_style: list. Closing, feel free to comment further!

It works quite fine for me! 👍 Except that the optional flag doesn't seem to show up 🤔
Anyway I'm thanks for your great effort!


Is it possible to make "out" or "ref" calls by reference?

At the moment I see, that only call by values are allowed. So only the return value can transport information back from the function.  Could parameters make calls by reference?
I would need to return multiple string or to modify an image (.net would copy in a preallocated array (from C)).
Also some hints, when there is no solution in your project, would be nice. Maybe there is another solution around. I need it for Linux and Windows.

At the moment I see, that only call by values are allowed. So only the return value can transport information back from the function. Could parameters make calls by reference?

@climblinne Yes they can. However what you are indicates a minor misunderstanding in what is possible with this project. The current requirement of DNNE exports is that they contain only blittable types. Marking an argument with ref or out makes the argument a "by ref" which is under the covers a managed pointer (non-blittable), not a pure native pointer (blittable). This requirement exists because the project is designed to by-default be a building block that is low level and letting the developer optimize the marshalling as needed for their scenario.
Exporting a managed function as a native one requires making all argument blittable so all marshalling must be done manually by the developer exposing the managed function. For example the following signature to return an array of functions could be exposed to native callers, but note the developer needs to handle all memory management a type conversions.
[UnmanagedCallersOnly]
public unsafe static int GetStrings(ushort*** arrayOfStrings)
{
    // 1) Allocate native memory for ushort**.
    //   The native side needs to know how to
    //     free the returned memory.
    //   The managed char is actually 16-bits wide (i.e. ushort in C#).
    // 2) Convert all strings to ushort* and insert into array.
    // 3) Assign native memory for array to *arrayOfStrings.
    // 4) Return length of allocated array.
}

The following example is on Windows.
using GetStringsFptr = int(__stdcall *)(uint16_t***);

HMODULE mod = ::LoadLibraryW(L"PATH TO NATIVE MODULE");
auto fptr = (GetStringsFptr)::GetProcAddress("GetStrings");

uint16_t** arrayOfStrings;
int len = fptr(&arrayOfStings);
for (int i = 0; i < len; ++i)
{
    ::wprintf((wchar_t*)arrayOfStrings[i]);
}

// Free memory of each string and then the returned array.
// On Windows the canonical convention is CoTaskMemAlloc().
// On non-Windows the convention is free().
// When allocating native memory in managed code using
// Marshal.AllocCoTaskMem() this convention is followed.

@climblinne Please let me know if you have any additional questions or my response wasn't clear.

@AaronRobinsonMSFT With your information all my problems are gone. Thanks Aaron. Really a nice project to build automatically the native dll/so connector.


Video Zoom Deployment: Assignments to currentTime reset playback time to zero.

Hello @bramus, I have a question about the video zoom demo. At least in my current browsers (Chrome: 129.0.6668.90, Edge:129.0.2792.65) the demo works fine when I try it locally or deploy it remotely, but the “official” site (https://view-transitions.chrome.dev/) unfortunately doesn't work for me.
The assignments to $video.currentTime set the value back to 0. This happens for me for that video even for direct assignments independent of your code, e.g. document.querySelector(“video”).currentTime=4. I have never had this problem with my own projects and would therefore like to understand why.
My current guess is that it is due to caching. https://view-transitions.chrome.dev/ always seems to return Cache-Control: max-age=0 (and never a http response of 304).
Is this just me or is the behavior reproducible and is it due to disallowing caching?

Thanks for reaching out, Martin. It’s only just yesterday that the site switched hosts and I noticed this breakage too. The culprit indeed are the Caching headers and I am collaborating with the relevant team to get it fixed.

Haha, what an extraordinary coincidence! I wish you the best of luck for a quick solution!


Implement java.util.concurrent.ThreadLocalRandom.

Can one of the admins verify this patch?

WOW just realised what is the problem...
scala> 1L - (-100000000L)
res0: Long = 100000001

scala> 1L - (Long.MinValue)
res1: Long = -9223372036854775807

cannot understand this...

cannot understand this...

Arithmetic modulo 2^64, offset by Long.MinValue. Classic in 2's complement representation of integers.

will go on late afternoon

The commit message should start with "Fix #1859: "

Please review implementation for Ints.
if you consider ok the management of bounds (in ThreadLocalRandom.scala) and the tests as they are done I will complete the same way also long and double.

That's all.

hope that's all also for me! :-)

LGTM. Jenkins, test this please

@andreaTP It looks like it fails on JDK 6.

Makes sense. ThreadLocalRandom is "Since 1.7".
You'll have to move the test file to the require-jdk7 subdirectory.

moved

You should also rebase

LGTM. Jenkins, retest this please
@nicolasstucki Why rebase?

Jenkins, retest this please

Rebase to get 1997b122e8e38354c1a11bdb20147963e72d6653 and reduce the chances spurious failures.

No need: Jenkins builds on a provisional merge of the PR branch against master. You can look at the logs for the currently building job: they include the new sbtretry stuff.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2116/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/2735/
Test FAILed.

? Am I supposed to fix something?

Er no, it's still running.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2117/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/2736/
Test PASSed.


Integrated Django Static conventions

The purpose of this integration is to allow django to collected static files from each of our applications (and any other places you specify) into a single location that can easily be served in production.
[more information] (https://docs.djangoproject.com/en/1.8/ref/contrib/staticfiles/)
Additions

vendor directory in the root project location
runserver script that integrates the global collection of static assets and running the server ```./runserver````

Removals

src directory

Changes

SRC templates now live permanently in cfgov/v1/jinja2/v1 so there is no longer a need to copy them anywhere.
FEWDs will now make any changes to front-end related assets in the cfgov/v1/preprocessed directory.
The new workflow during Gulp Build is it will take assets in preprocessed process them and dump them in cfgov/v1/static where they are how production ready and waiting to be collected by collectstatic script in runserver.sh

Review

@anselmbradford
@rosskarchner
@kurtw
@jimmynotjim
@KimberlyMunoz

Checklist

[x] Changes are limited to a single goal (no scope creep)
[x] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the front end playbook
[x] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

Can you elaborate on why we're changing the location of source files from /src when gulp is moving/processing them all anyway. We just got onto the layout structure as OaH, the cf generator and a few other projects with the intention of making it easier for devs to move between projects, and now we're going to break that again for a benefit I'm failing to see.

@jimmynotjim well for one by integrating the django server which hosts the website in a completely different way from flask, we were required to move templates to reside within the project scope of cfgov and since prior they were just being copied over to dist/ with no processing it only made sense to keep them in one location which would be in the App scope jinja2 directory
We moved from a node style structure to a django project directory structure for the benefit of taking advantage of their app separation of concerns process which ecourages designing applications for reuse. By having all V1 related assets & templates living in one location it becomes easier to include/exclude apps in the settings files. So in the future if we were to implement additions apps they would also follow this convention. I hope this makes sense, but i found a write-up that may describe the pro's better here

Doesn't using that structure presume that other teams are going to be reusing certain portions of your Django app? How realistic is that scenario for us?

@sebworks i think its more realistic that we would be reusing apps from other teams, or creating apps that serve individual functions that could be reused.

@kurtw aah i missed this, yea let me remove that jinja2 file then

Even if we could say that we'd never use anything from any other projects and that they'd never use anything from ours, this is the structure to use for Django to work conventionally. Unless there's a compelling enough reason to go away from conventions, it's better that we stick with them.

Thanks for the explanation @kave @kurtw.

On @jimmynotjim point we had a mix of production code and source code that were intermingled in the same directories and moved to a clear separation of concerns by having a /dist/ and /src/ directory (which as noted follows several CFPB projects). The downside of that is the project needs to be built to see the changes (e.g. the src files need to be copied), but the upside is it's clear what's produced from our build process and what is not.
To wrap my head around this update, looking at the updated environment.js in the PR:
var paths = {
  preproccesed:  './cfgov/v1/preprocessed',
  processed: './cfgov/v1/static',
  vendor_dist: './cfgov/v1/jinja2/v1',
  lib:  './vendor',
  test: './test'
};

So, using our old variables it seems like in terms of the following parts of the project are broken up like this:
jinja templates
src = dist = ./cfgov/v1/jinja2/v1.
Jinja's source and distribution code is combined.
Vendor files
src = ./vendor
dist = './cfgov/v1/jinja2/v1'
Vendor files sit in the project root and are copied in the same directory jinja resides in.
Static assets (js, css, images)
src = './cfgov/v1/preprocessed'
dist = './cfgov/v1/static'
Static assets sit in a preprocessed directory and are processed and copied into a static directory.
(Note that when pulling this down static assets directories are also in ./cfgov/v1/jinja2/v1 also, is that right?)
Is that all correct?
How are changes in ./cfgov/cfgov/settings/production.py vs ./cfgov/cfgov/settings/local.py applied when building the project?

FYI setup.sh is not building. You may need to pull in latest changes from flapjack.

@anselmbradford that seems like you have it down right. That's how I understand it to work anyway. For your second question, we haven't worked out how exactly we're going to apply each settings file when we build the project, but the current way would be settings the DJANGO_ENV appropriately.

@anselmbradford one thing you pointed out that made me notice something. vendor_dist is no longer required after our talk about what files were being copied from vendor files.
So vendor static assets are copied from  lib:  './vendor' to ```dist = ./cfgov/v1/static````

setup.sh works for me now, I think I'd just not pulled in the latest.

It all works for me but should get rid of the Travis failure.


hana::sort benchmarks and optimization

Intro
Hello, and thanks for the awsome library. I hope I can help making it tiny bit better :)
This PR attempts to fix issue #256 and only contains two commits. The first adds some basic benchmarks to the sort algorithm. The second reworks the sort algorithm as a merge sort.
Please let me know if this is acceptable, or what to change to make it so.
Benchmarks
The benchmark is very basic, it only benchmarks hana::tuple, for a few different
lengths, up to 100 elements. I decided not to go higher than 100 to avoid very long benchmarks and high RAM usage during benchmarks.
A few basic test case are benmarked:

sorted tuple
reverse-sorted tuple
randomize tuple
sorted tuple except first element
sorted tuple except last element

I'm sure we all have many more ideas for other test cases but I'm not sure there is actually a point in benchmarking more.
Sort algorithm
The current implementation is an insersion sort, which performs well for reverse-sorted tuples, but is not exceptional for any other case.
I implemented the sort algorith as a merge sort, which performs surprisingly well.
Time
Here are the results of the benchmarks using gcc 8.2.0 for a 100-elements tuple (don't mind the performances of my poor laptop). You can find the complete JSON benchmarks results at the end of this message.

Test case
Sorted
Reversed
Random
Sorted but first
Sorted but last

Insersion sort
8.261
0.632
3.189
8.500
8.506

Merge sort
0.883
1.013
1.259
1.081
1.124

Merge sort perform almost always better. Notably, it has less variation between its best and worst case. Also, its best case is the already-sorted tuple, which is a plus in my option.
Memory usage and template recursion depth
No formal benchmark here, but some custom tests using gcc's -ftime-report and -ftemplate-depth. I compiled a hana::sort for a randomized 100-elements tuple and a randomized 50-elements tuple. Note that the tuples were identical for both the insersion sort and the merge sort.

RAM usage
50-elements
100-elements

Insersion sort
116027 kB
274654 kB

Merge sort
97620 kB
152039 kB

Minimum -ftemplate-depth
50-elements
100-elements

Insersion sort
99
188

Merge sort
56
107

The merge sort requires less memory and less template recursion depth. The evolution of both these metric related to the tuple length also seems better.
Raw benchmark results
insersion sort (current algorithm):
{
  "title": {
    "text": "Compile-time behavior of sort"
  },
  "series": [
    {
      "name": "hana::tuple::sorted",
      "data": [[0, 0.12189327700070862], [1, 0.12702687800083368], [2, 0.13320911899972998], [5, 0.14640919399971608], [10, 0.17684753899993666], [20, 0.28853733600044507], [50, 1.2496988319999218], [100, 8.261367244998837]]
    },
    {
      "name": "hana::tuple::reversed",
      "data": [[0, 0.13518574299996544], [1, 0.13135910799974226], [2, 0.1403258989994356], [5, 0.14755949700156634], [10, 0.16125590599949646], [20, 0.1943193400002201], [50, 0.32196244499937166], [100, 0.6322877889997471]]
    },
    {
      "name": "hana::tuple::rand",
      "data": [[0, 0.12381545400057803], [1, 0.12871033900046314], [2, 0.13587248499970883], [5, 0.15021091699964018], [10, 0.17622353799924895], [20, 0.23890691499946115], [50, 0.7043842670009326], [100, 3.1888558009995904]]
    },
    {
      "name": "hana::tuple::sorted_but_first",
      "data": [[0, 0.12633763700068812], [1, 0.13862444699952903], [2, 0.14123353699869767], [5, 0.1601948329989682], [10, 0.19120241999917198], [20, 0.31753956099964853], [50, 1.32555256500018], [100, 8.49972412200077]]
    },
    {
      "name": "hana::tuple::sorted_but_last",
      "data": [[0, 0.13040008999996644], [1, 0.1387038000011671], [2, 0.13980583700140414], [5, 0.15381494100074633], [10, 0.18541962200106354], [20, 0.3065099300001748], [50, 1.3008124890002364], [100, 8.505800036999062]]
    }
  ]
}

merge sort (proposed algorithm):

{
  "title": {
    "text": "Compile-time behavior of sort"
  },
  "series": [
    {
      "name": "hana::tuple::sorted",
      "data": [[0, 0.12493470600020373], [1, 0.1553466599998501], [2, 0.15194974800033378], [5, 0.14653714599990053], [10, 0.17987262700080464], [20, 0.23612296799910837], [50, 0.4784531200002675], [100, 0.8831240349991276]]
    },
    {
      "name": "hana::tuple::reversed",
      "data": [[0, 0.17491978799989738], [1, 0.1380396650001785], [2, 0.15627997199953825], [5, 0.17984615299974394], [10, 0.19803481999952055], [20, 0.24726633699901868], [50, 0.497444736000034], [100, 1.0125894479988347]]
    },
    {
      "name": "hana::tuple::rand",
      "data": [[0, 0.12181186999987403], [1, 0.12788815700150735], [2, 0.16966947299988533], [5, 0.15471644199897128], [10, 0.17313473399917712], [20, 0.25020471300013014], [50, 0.5536038049995113], [100, 1.2589463830008754]]
    },
    {
      "name": "hana::tuple::sorted_but_first",
      "data": [[0, 0.13644047399975534], [1, 0.14535208699999203], [2, 0.1550784580012987], [5, 0.2969821180013241], [10, 0.21241696499964746], [20, 0.2675821630000428], [50, 0.4959278879996418], [100, 1.0816410260013072]]
    },
    {
      "name": "hana::tuple::sorted_but_last",
      "data": [[0, 0.13001319499926467], [1, 0.15044038199994247], [2, 0.16996815000129573], [5, 0.15973293499882857], [10, 0.18661433799934457], [20, 0.24066195599880302], [50, 0.4494423630003439], [100, 1.1236133000002155]]
    }
  ]
}

@ldionne
I rebased on the latest develop all CI now complete successfully

Thanks a lot for working on this! This looks very promising.

Up, is there anything I can do ?

Thanks a lot for working on that, and for bearing with my slow response times! This is great.

Ah, don't worry, I had fun with this !


mark eq and ne fns as #[must_use]

A couple of times I have found myself writing:

#[test]
fn test_something() {
  approx::relative_eq!(something, something_else);
}

Obviously this test always passes because the macro expands to a function call returning a bool. This then means I have tests that should be failing but instead are passing.
This pull request marks [AbsDiff|Relative|Ulps]::[eq|ne] with the must_use attribute. Because this attribute is only supported on functions since the 1.27.0 release I have bumped the MSRV accordingly. If this feature isn't worth bumping the MSRV I completely understand. Thank you for this very useful library!

bump :)

Sorry for the late reply! Yeah, I've always found #[must_use] to feel like… a bit of a hack? But yeah, I can do this!

Thanks!


Let's Encrypt

Something strange happens with the current HTTPS certificate on my system for https://grtp.co

https://gratipay.com/ is ok.
What if we switch to Let's Encrypt instead?

I would like to add the following to the discussion: https://www.feistyduck.com/bulletproof-tls-newsletter/issue_20_mozilla_and_wosign_comodo_sb_and_tc_certificates.html

Not more actual after #173.

Solved in https://github.com/gratipay/inside.gratipay.com/issues/1051#issuecomment-300207516.


Add Headings to Tag Generator Steps

closes #911
Added stepper component to add headings for tag generator.
 Figma wireframes here.

@nrrao I noticed that there are font size inconsistencies between steps 1 and 2.  Is this by design?

@bruceplai , Asked Chali for clarification about font size. Which one do you think is better 'body1' or 'h6'?

@nrrao I suggest we use body1 to keep it consistent with the general text sizing throughout the tag generator workflow.  I also noticed that there's a typo in "Affliated Organization" in step 1.

@bruceplai, thanks for your inputs. kept the font size 'body1' and fixed typo.


add styles

👷 Deploy Preview for st-range-home processing.
🔨 Explore the source changes: 3d2f04512e7648de141849326906c2f30efd5575
🔍 Inspect the deploy log: https://app.netlify.com/sites/st-range-home/deploys/6153e3b347f7470008dae261


feat(go) - research using generics for improved UX

:rocket: Feature Request
Affected Languages

[ ] TypeScript or Javascript
[ ] Python
[ ] Java
[ ] .NET (C#, F#, ...)
[x] Go

General Information

JSII Version: 1.49.0<!-- Output of jsii --version -->

Platform: *

[x] This feature might incur a breaking change

Description
Go 1.18 is scheduled to release as stable in Feb 2022 with support for generic types. This new feature allows us to potentially take an alternative approach to supporting optional values, enabling type casting, and various runtime improvements.
Proposed Solution
Optional Types
Definition of some wrapper type like:
type Optional[T any] struct{
	val T
	defined bool
}

Would allow code generating Optional[Type] instead of *Type everywhere. This largely would have similar semantics to the user as all types, regardless of whether they are optional or required in typescript, would have to be this wrapper type in order to uphold backwards compatibility guarantees as detailed in the RFC. It may however emerge as the more idiomatic solution once generics are commonly used in Go, and they can be defined inline instead of using a utility function like jsii.String or needing to allocate a variable previously.
Additionally this could simplify reflection code within the Go runtime where currently some relatively complicated logic exists around inspecting and dereferencing pointers during reflection.
Type Casting
We may be able to define a function, returning a generic type representing a parent or child class (in typescript) to support downcasting as needed for escape hatches.
Runtime Improvements
Changing JSII runtime functionality to use generics:
// from
func (c *Client) Get(props GetProps) (response GetResponse, err error)
// to
func (c *Client) Get[A any](props GetProps) (response GetResponse, err error, val A)

Could potentially give stronger compile time guarantees for the runtime library and generated code and reduce the usage of unsafe pointer manipulation.

I extensively prototyped in the https://github.com/aws/jsii/tree/rmuller/explore/go1.18-generics branch.
Here are some of the high-level findings (pending a more comprehensive writeup):

Methods cannot introduce new type arguments (they may of course use the type parameters of the type they are a member of)
We can design a "marker" interface that can be used in any place where a value is optional (nil-able)type Option[T any] interface {
  // This is merely a marker function to facilitate
  // getting the underlying value type through reflection
  Unwrap__() T
}

All generated types simply implement this interface (T is the implementing type)

This means a signature that accepts any T can be updated to accept Optional[T] without breaking
Unfortunately any given type can only implement the marker ONCE (as it'd otherwise require multiple identically-named methods to be implemented, which is impossible)

Structs (in the jsii sense) and enums are passed by-value when required, so they simply cannot be nil.
We still need to use wrappers for primitive types (string, float64, etc...), but instead of being pointers to these types, they can be "real" aliasestype String string
// String is a valid value for Option[String]
func (s String) Unwrap__() String { return s }

These cannot be nil when required.
They implement Option[T]
These types have perhaps a more "go native" feel to them.

The marker allows runtime validation that structs have values for all required (and nil-able) fields they have

We can streamline the runtime APIs that currently accept reflect.Type so they are instead generic functions// Before
RegisterStruct(reflect.TypeOf((*StructType)(nil).Elem())

// After:
RegisterStruct[StructType]()

We can implement a decent UnsafeCast feature using generics, where the experience could look like so:original := SomeFunction() // A union of structs
downCasted := jsii.UnsafeCast[SpecificStruct](original)

These definitely look like some significant improvements that at first glance appear to make the Go experience easier to get started with and understand. We should work towards providing a working experience for users to try and provide feedback on though if possible without rewriting too much of our current implementation, if only to provide further validation without committing to an entirely new approach.

Additional notes in https://github.com/aws/aws-cdk-rfcs/pull/397


Configure Staging Environment

As a feature-creature contributor
So I can test my changes in a production-like environment
I want a staging environment to deploy to

Install / configure docker on an AWS box
Add A-Record / CNAME to registrar pointing to staging.feature-creature.com
Configure application to run in staging environment
Ensure persistent data is configured correctly for

postgres
elastic search
app data


browser track for TSS atlas identified by CAGE (Olaf)

Once we get JBrowse up and running we should make this  one of the first datasets to host as we will need it to refine gene structures as proposed:
https://github.com/pombase/curation/issues/633

Note from Olaf:
We are very excited about the interest in the community of having our TSS atlas identified by CAGE publicly available through PomBase. How should we proceed?
We already have most data ready as files suitable for most genome browser. In details:
•                          For every stress/medium combination we have the average CAGE signal as a BigWig-file (one for each strand)
•                          CAGE tag clusters, representing discrete TSS events, as a bed-file (including the TSS peak in the thickStart/thickEnd columns)
Additionally, we could include bed-files containing only CAGE TSS that are expressed differentially between the different conditions.
We are quite  flexible about file formats though, so please do let us know if some other way of storing the data is more appropriate for PomBase.

@MalteThodberg
Need to keep Malte and Olaf posted

Olaf says some of their data is in BigWig format so maybe we could try this soon?

OK,
@MalteThodberg
We can use this as a test case for a new dataset as we set up the procedure for submission.
our beta JBrowse instance is here:
https://www.pombase.org/jbrowse/index.html?loc=II%3A485563..499792&tracks=DNA&highlight=
val

Dear all,
Our preprint is out (The paper itself is still in revision): https://www.biorxiv.org/content/early/2018/03/13/281642
We have already deposited all the data on GEO Series GSE110976 (https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE110976).
I'll be happy to assist in uploading the data!

I've put the spreadsheet from Malte in Dropbox:
pombase/PomBase_website/thodberg_cage_dataset/ThodbergWithEdits2.xlsx

should I copy it into the master doc?

@MalteThodberg do we need to wait with displaying the data until paper is out or canwe just go live (seeing the data is in GEO in any case?)

should I copy it into the master doc?

Do you mean into the JBrowse configuration table?  Yes, please.  It will be a while before I can get the datafiles set up though.

@Antonialock Yes, it's perfectly fine to make it public, as it is already public on GEO and bioRxiv

ok, makes sense, just thought I'd make sure :-) @MalteThodberg

I've put the BED file and the bigwig files in the right place on the web server.  I needed to change some of the the chromosome IDs in the bigwig files to match what JBrowse expects:

MT -> mitochondrial
AB325691 -> chr_II_telomeric_gap

The URLs are:
https://www.pombase.org/external_datasets/Thodberg_GSE110976/GSE110976_EMM_exp_minus.bw
https://www.pombase.org/external_datasets/Thodberg_GSE110976/GSE110976_EMM_exp_plus.bw
https://www.pombase.org/external_datasets/Thodberg_GSE110976/GSE110976_EMM_nitro_minus.bw
https://www.pombase.org/external_datasets/Thodberg_GSE110976/GSE110976_EMM_nitro_plus.bw
https://www.pombase.org/external_datasets/Thodberg_GSE110976/GSE110976_TSSs.bed
https://www.pombase.org/external_datasets/Thodberg_GSE110976/GSE110976_YES_exp_minus.bw
https://www.pombase.org/external_datasets/Thodberg_GSE110976/GSE110976_YES_exp_plus.bw
https://www.pombase.org/external_datasets/Thodberg_GSE110976/GSE110976_YES_H2O2_minus.bw
https://www.pombase.org/external_datasets/Thodberg_GSE110976/GSE110976_YES_H2O2_plus.bw
https://www.pombase.org/external_datasets/Thodberg_GSE110976/GSE110976_YES_heat_minus.bw
https://www.pombase.org/external_datasets/Thodberg_GSE110976/GSE110976_YES_heat_plus.bw

Thodberg data added to metadata file.
@MalteThodberg would it make sense to relabel the track description of the bed file:
'Most frequently observed transcription start sites across 5 growth conditions'
to clarify that it shows the commonest TSSs?

That's very long!
Maybe just "consensus transcription start sites"

yeah agree 'Most frequently observed' is long, but I thought it isn't really a "consensus"? (or is it? semantics! "Commonest" sounds ridiculous)

@MalteThodberg ?

Thodberg data added to metadata file.

Thanks!  I needed to add "forward strand" and "reverse strand" to the track labels to make them unique, otherwise only one of the strand was visible.
The new tracks are live in the main site.  You might need to shift-reload if you've used JBrowse within the last hour (the track info is cached in the browser for an hour).
If you make any fixes to pombase_jbrowse_track_metadata.csv let me know and I'll re-release the site.  It's quite quick to re-release if only the JBrowse data is the only change - only 2-3 minutes.

Oh it looks very nice.
I'm not clear about how the scale bar works.   Does the scale bar scale according to everything in a view? or just the proximal element.
It's really neat...

@MalteThodberg
We would like to feature on the front page "Research Spotlight" https://www.pombase.org/.
Could you provide an image of the correct aspect ratio? (it can be a composite)...just something eye-catching from the paper.

We will make an announcment and the front page rotation coincide with publication.

I'm not clear about how the scale bar works. Does the scale bar scale according to everything in a view?

Yep, it changes the scale based on what's currently in view.

Something like

but it's better not to have "small text" if possible

To me it is a consensus if it's the commonest TSS across all conditions?
....it isn't necessarily a consensus sequence, but it's a consensus position ;)

yeah fine, sounds good...stay tuned for track description updates :)

Thanks! I needed to add "forward strand" and "reverse strand" to the track labels to make them unique, otherwise only one of the strand was visible.

Ah shoot, I had started that task but then went for group meeting, lunch etc.

If you make any fixes to pombase_jbrowse_track_metadata.csv let me know and I'll re-release the site. It's quite quick to re-release if only the JBrowse data is the only change - only 2-3 minutes.

I have done quite a few changes to the descriptions so it would probably be good to reload!

Coming in late to the discussion:

For the BED-track naming: I think "TSSs across 5 growth conditions" or "Consensus TSSs across 5 growth conditions" would both be good.

I can provide a pretty looking figure from the preprint as a PDF: What is you desired aspect ratio?

I can see the BED-track in the new browser, however I get "Error: jDataView length or (byteOffset+length) value is out of bounds" when trying to view BigWig tracks.

I can see the BED-track in the new browser, however I get "Error: jDataView length or
(byteOffset+length) value is out of bounds" when trying to view BigWig tracks.

Thanks for checking.  Could you let us know which web browser you're using?  I tested in Firefox and Chrome before the announcement went out.  But now it doesn't work for me in Chrome which is strange.  I'll try to fix that today.

When I reloaded the page in Chrome it worked fine.  That makes it tricky to debug.  Antonia notice a similar problem a few days ago that also went away after a reload.  I'll do some Google searching to see if others have had this problem.

You are right: I only get the error message using Safari, using Chrome it renders with no errors.
How do you determine the color of tracks? Since CAGE is stranded, it would be nice to match the colors of the consensus TSSs to their corresponding coverage tracks (i.e. forward strand = red and reverse strand = blue).
Is it possible to get the new browser to render the Consensus TSS peaks in the thickStart/thickEnd columns of the BED-file?

Hi @MalteThodberg  I didn't replay about the image aspect ration.
It is https://www.pombase.org/ images on the front page. Approx  1:1.5 (?) @kimrutherford  can say exactly  but it does not need to be precise we can trim.

Sorry, I forgot to reply too.  The aspect ratio of our current images is 1:1.62.  An image close to that would be best but as Val says, we can trim or we can pad the images with a little bit of white space if needed.
Thanks!

Sorry for the delay, we have been busy with paper revisions! Here's a possible figure for a research spotlight:
PomBase_ResearchSpotlight.pdf

Hi Malte,
That will be great.
I was also wondering, not I had a closer look at the data, I think Antonia  was correct and the
"combined" file isn't really a consensus. Its a combined view of all  observed sites.
I think users would find it really useful to see the "consensus" sites, as features on a track. It is difficult to see these on the individual tracks because the expression levels can be so different. In the combined track you can not distinguish  the real features of interest.
i.e the  major  here:

That's a very pretty browser picture! :-)
I'm not entirely sure what you mean: The BED-file summarises the basepair-resolution BigWig files into discrete Tag Clusters, corresponding to TSSs.
You are absolutely right, that there's a huge difference in scale between the BigWig-tracks. Because the CAGE-tags are so accurate they tend to pile up extremely high. That means that some Tag Clusters  superficially look very lowly expressed if they are in the same view as a very highly expressed Tag Cluster. The BED-file is made with and expression cutoff of at least one count-per-million, in at least three samples (out of 15), so they should all be expressed in biological meaningful amounts.
Normally one would force the same scale across all BigWig tracks for better comparison, for example like we do in the paper:

I don't know if that's a possibility in the new browser?

That's a very pretty browser picture! :-)

It is!

I'm not entirely sure what you mean:

It might be useful to see the "consensus" rather than the spread (or in addition)
i.e.

...because the CAGE is so sensitive, and many sites will be used hardly at all but are included in the cluster even if 99.99% are at a  discrete site.
Note that here I mean for a single gene/loci, rather than normalizing  levels between loci

You are absolutely right, that there's a huge difference in scale between the BigWig-tracks.
Normally one would force the same scale across all BigWig tracks for better comparison, for example like we do in the paper:
I don't know if that's a possibility in the new browser?

I think it is, but my understanding is that the files need to be pre-processed in some way?
@Antonialock  @kimrutherford  is that correct?

Your first suggestion sounds good.
yup CAGE data from the Li et al
https://github.com/pombase/website/issues/736
https://github.com/pombase/website/issues/735
on our radar.

Thank you!
I can see there's a couple of tracks:
LiTSS_TS1.bed
LiTSS_TS2.bed
LiTSS_TS6.bed
new/LiTSS.bed
new/LiTSS_TS6.bed
Do you happen to know which file was used in the old browser?

I'm not sure, any idea anyone?

Nope

I think the old browser may have had two tracks, one for each file in the "new" subdirectory. I've put more details in #736, since that ticket is dedicated to that dataset.

This was done ages ago.
https://www.pombase.org/reference/PMID:30566651
closing.
If anything is still to do please open a new ticket .


coqPackages.coqhammer: init at 1.1

CoqHammer is a general-purpose automated reasoning hammer tool for Coq.
Homepage: http://cl-informatik.uibk.ac.at/cek/coqhammer/
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build coqPackages.coqhammer coqPackages_8_9.coqhammer

@GrahamcOfBorg build coqPackages.coqhammer coqPackages_8_9.coqhammer

@GrahamcOfBorg build coqPackages.coqhammer coqPackages_8_9.coqhammer


Question: RadialChart and classNames

Is there a way currently to pass a custom className to an arc series item inside a RadialChart?
Perhaps something like:
const radialData = [
  { angle: 1, label: 'Item 1', className: 'some-css-class' },
  { angle: 2, label: 'Item 2', className: 'another-css-class' },
];

Or is there already a system in place to accomplish the same thing another way? I am running these charts inside a CSS Modules setup and I need to be able to set very specific class names for theming. (CSS Modules currently work with the RadialChart component itself, just not anything inside it.)
Thanks!

That functionality isn't currently built but it seems like it should be relatively easy to implement! I'm away from computer for a while, but would welcome a pr

I can definitely take a stab at it. 💥

Now that #445 is merged in, and v1.5.3 is cut, this issue should be resolved


Can not use intellij scenebuilder with jfoenix

Error:
java.lang.UnsupportedClassVersionError: com/jfoenix/controls/JFXButton has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0

Make sure you are using a compatible version of JFoenix with the running JRE.


FAILED: objc_macos_opt_native.objc-examples-build

Failed in master:
https://grpc-testing.appspot.com/job/gRPC_master_macos/2396/testReport/junit/(root)/objc_macos_opt_native/objc_examples_build/
Error Message

Failure
Stacktrace

 Compiling RouteGuide-dummy.m
 Compiling RouteGuide.pbobjc.m
 Compiling RouteGuide.pbrpc.m
 Building library libRouteGuide.a
 Copying RouteGuide.pbrpc.h
 Copying RouteGuide.pbobjc.h
 Building Pods/Pods-RouteGuideClient [Debug]
 Check Dependencies
 Compiling Pods-RouteGuideClient-dummy.m
 Building library libPods-RouteGuideClient.a
 Building RouteGuideClient/RouteGuideClient [Debug]
 Check Dependencies
 Running script '[CP] Check Pods Manifest.lock'
 Compiling main.m
 Compiling AppDelegate.m
 Linking RouteGuideClient
 Copying route_guide_db.json
 Compiling Main.storyboard
 Processing Info.plist
 Generating 'RouteGuideClient.app.dSYM'
 Running script '[CP] Copy Pods Resources'
 Running script '[CP] Embed Pods Frameworks'
 Touching RouteGuideClient.app
 Build Succeeded

echo "TIME:  $(date)"
date
TIME:  Tue May 16 21:32:02 PDT 2017
SCHEME=AuthSample                               \
  EXAMPLE_PATH=examples/objective-c/auth_sample \
  ./build_one_example.sh

# Params:
# EXAMPLE_PATH - directory of the example
# SCHEME - scheme of the example, used by xcodebuild

# CocoaPods requires the terminal to be using UTF-8 encoding.
export LANG=en_US.UTF-8

cd `dirname $0`/../../..
dirname $0

cd $EXAMPLE_PATH

# clean the directory
rm -rf Pods
rm -rf $SCHEME.xcworkspace
rm -f Podfile.lock

pod install
Analyzing dependencies
Fetching podspec for `AuthTestService` from `.`
Downloading dependencies
Installing !ProtoCompiler (3.2.0)
Installing !ProtoCompiler-gRPCPlugin (1.3.0)
Installing AuthTestService (0.0.1)
Installing BoringSSL (8.2)

 MARKDOWN TEMPLATE

### Command

/usr/local/rvm/gems/ruby-2.4.0/bin/pod install

### Report

* What did you do?

* What did you expect to happen?

* What happened instead?

### Stack

CocoaPods : 1.2.0
Ruby : ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin14]
RubyGems : 2.6.10
Host : Mac OS X 10.10.5 (14F2315)
Xcode : 7.2.1 (7C1002)
Git : git version 2.5.4 (Apple Git-61)
Ruby lib dir : /usr/local/rvm/rubies/ruby-2.4.0/lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ f0acffea804ddc155099c1239659faa81738cb37

### Plugins

cocoapods-deintegrate : 1.0.1
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.0
cocoapods-stats       : 1.0.0
cocoapods-trunk       : 1.1.2
cocoapods-try         : 1.1.0

### Podfile

```ruby
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

install! 'cocoapods', :deterministic_uuids => false

target 'AuthSample' do
  # Depend on the generated AuthTestService library.
  pod 'AuthTestService', :path => '.'

  # Depend on Google's OAuth2 library
  pod 'Google/SignIn'
end

Error
Errno::ENOENT - No such file or directory @ rb_file_s_lstat - /Users/jenkins/Library/Caches/CocoaPods/Pods/Release/BoringSSL/8.2-4135a/crypto/bytestring/internal.h
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:1220:in `lstat'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:1220:in `lstat'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:1247:in `copy'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:409:in `block in copy_entry'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:1381:in `wrap_traverse'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:1384:in `block in wrap_traverse'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:1383:in `each'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:1383:in `wrap_traverse'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:1384:in `block in wrap_traverse'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:1383:in `each'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:1383:in `wrap_traverse'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:1384:in `block in wrap_traverse'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:1383:in `each'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:1383:in `wrap_traverse'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:406:in `copy_entry'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:384:in `block in cp_r'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:1454:in `block in fu_each_src_dest'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:1470:in `fu_each_src_dest0'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:1452:in `fu_each_src_dest'
/usr/local/rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/fileutils.rb:383:in `cp_r'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/downloader.rb:54:in `block in download'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/user_interface.rb:142:in `message'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/downloader.rb:52:in `download'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/installer/pod_source_installer.rb:120:in `download_source'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/installer/pod_source_installer.rb:60:in `install!'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/installer.rb:355:in `install_source_of_pod'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/installer.rb:322:in `block (2 levels) in install_pod_sources'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/user_interface.rb:85:in `titled_section'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/installer.rb:321:in `block in install_pod_sources'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/installer.rb:313:in `each'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/installer.rb:313:in `install_pod_sources'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/installer.rb:159:in `block in download_dependencies'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/user_interface.rb:64:in `section'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/installer.rb:157:in `download_dependencies'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/installer.rb:111:in `install!'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/command/install.rb:37:in `run'
/usr/local/rvm/gems/ruby-2.4.0/gems/claide-1.0.1/lib/claide/command.rb:334:in `run'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/lib/cocoapods/command.rb:52:in `run'
/usr/local/rvm/gems/ruby-2.4.0/gems/cocoapods-1.2.0/bin/pod:55:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.4.0/bin/pod:22:in `load'
/usr/local/rvm/gems/ruby-2.4.0/bin/pod:22:in `<main>'
/usr/local/rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in `eval'
/usr/local/rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in `<main>'

TEMPLATE END
[!] Oh no, an error occurred.
Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=No+such+file+or+directory+%40+rb_file_s_lstat+-+%2FUsers%2Fjenkins%2FLibrary%2FCaches%2FCocoaPods%2FPods%2FRelease%2FBoringSSL%2F8.2-4135a%2Fcrypto%2Fbytestring%2Finternal.h&type=Issues
If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new
Be sure to first read the contributing guide for details on how to properly submit a ticket:
https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md
Don't forget to anonymize any private data!
Looking for related issues on cocoapods/cocoapods...
Found no similar issues. To create a new issue, please visit:
https://github.com/cocoapods/cocoapods/issues/new
echo "EXIT TIME:  $(date)"
date
EXIT TIME:  Tue May 16 21:32:29 PDT 2017
real       237.81
user       134.62
sys         39.89

I'm seeing a similar failure with a different reason: https://grpc-testing.appspot.com/job/gRPC_pull_requests_macos/5730/testReport/junit/(root)/objc_macos_dbg_native/objc_examples_build/
The error at the end is sed: crypto/cipher/e_tls.c: No such file or directory

https://grpc-testing.appspot.com/job/gRPC_pull_requests_macos/7330/ for both opt and dbg builds.

Seems fixed (https://github.com/grpc/grpc/pull/13094)


Documentation request

Hi! I think some documentation would be nice! at least the starting points. Going through this code is kind of confusing :)
Context: I'm trying to consume the new Acquia API, but before I can do that, I need to properly authenticate myself against it :)
Thanks!

I've started my own documentation over here https://github.com/pmatias/http-hmac-python/blob/documentation/README.md
Tips, and pointers are welcomed :)


Calendar days don't show correct colors

It happens often when moving between months.
As you can see the first screenshot is missing all days, the second (after moving to November and back) still misses Monday and Tuesday.

i am finding this hard to reproduce. any idea?


docs: Update create/delete VM flow

Signed-off-by: Fabian Deutsch<EMAIL_ADDRESS>

/cc @rmohr

Sans @rmohr's suggestion, this looks ready from my pov.


Molecule2

This PR makes the necessary changes to test this role with Ansible 2.4 and Molecule 2.

6d4a141 creates the Molecule 2 initial setup using molecule init scenario -r $(basename $PWD) -s default -d docker
8ac1286 fixes the yamllint warnings and errors reported by molecule test
f13b88d migrates and upgrades the tests to be compliant with Molecule 2/testinfra 1.14

With https://github.com/openmicroscopy/ome-ansible-molecule-dependencies/pull/10, this PR should be tested by Travis against Ansible 2.4 in the morning https://travis-ci.org/snoopycrimecop/ansible-roles build.
Proposed tag: 0.2.2
See also https://github.com/openmicroscopy/ansible-role-basedeps/pull/5

See https://travis-ci.org/snoopycrimecop/ansible-roles/jobs/428417198 for the execution of this role with https://github.com/openmicroscopy/ome-ansible-molecule-dependencies/pull/10 and Ansible  2.4/Molecule 2

Conflicting PR. Removed from build ANSIBLE-merge#467. See the console output for more details.
Possible conflicts:

Upstream changes

molecule.yml

--conflicts

Tagged as 0.3.1 and deployed to https://galaxy.ansible.com/openmicroscopy/ssl-certificate


Documentation - Add recommended dbt packages to README

I think it would be helpful for people just getting started with dbt-athena to be aware of useful dbt packages such as dbt_utils as well as the athena_utils package.
If there are other packages commonly use with dbt-athena I think it would be great for those to be added.

@alex-antonison I hadn't known about athena_utils, it is great to see!
Can anyone confirm if dbt_utils is now compatible with Athena, last time I looked there was quite a few macros that would not work (e.g https://github.com/dbt-labs/dbt-utils/pull/547) and it may not be a good idea to point people to it.

@Tomme If we're thinking about keeping athena-utils in recommended packages, we should probably keep dbt-utils as well. I tested the surrogate_key macro and it worked fine on Athena (thanks to the dispatch on athena-utils).


Replace dynamic dispatch with enums.

Runner contains a lot of dyn types. These need to change to enums.


API consistency

Builder interfaces already have many regularities. Here's what can be done to make them more regular.

fn new_with_callback

Should be renamed to with_callback.
Sometimes takes additional arguments.

Invoking sometimes implicitly finishes building. E.g. building continues when an expr is built for ConstBuilder, but building ends when a type is built.
fn build sometimes takes additional arguments.
All use of To... traits can be replaced with std::convert::Into.

@pczarn: I addressed your first comment in #49.

The cases where these constructors take an argument are for id and name, and etc, that need to be always provided. Think it'd be better if we just had with_name and with_name_and_callback?
You're right, ConstBuilder is a bit funny. It should probably be changed to just have a type then an expression, as in builder().const().i32().i32(5) or with names:

builder().const()
  ty().i32()
  expr().i32(5)

build taking additional arguments was a naming issue. Sometimes you have something that takes an arbitrary number of items, like the slice builder. Then it makes sense to have a .build() to close off the structure. But then other times you might have already made an expression and you want to pass it in, but that expression closes off the structure. Do you have a better name than .build(expr)?
I don't think I can use To... because both the types and the Into trait don't exist in my library :(


Validate config name and data_files in packaged modules

Validate the config attributes name and data_files in packaged modules by making the derived classes call their parent __post_init__ method.
Note that their parent BuilderConfig validates its attributes name and data_files in its __post_init__ method: https://github.com/huggingface/datasets/blob/60d21efbc01e15d0b596ac1072750cbecd91548a/src/datasets/builder.py#L128-L137
This PR makes the derived config classes call their parent __post_init__ method to validate their name and data_files attributes.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

I pushed a change that fixes 2.15 cache reloading (I fixed the packaged module hash), feel free to merge if this change is fine for you

Something weird happened in GitHub: I just merged this PR to main, See:

https://github.com/huggingface/datasets/commit/5bbbf1b19766e31a6905f3e82bf3aa3f9f84a982

However this PR still appears as Open...

Indeed the merge commit is: https://github.com/huggingface/datasets/commit/5bbbf1b19766e31a6905f3e82bf3aa3f9f84a982
The following commit is just empty: https://github.com/huggingface/datasets/commit/09ebf5190afbd017f3ca24ef444be2d933411eed


[Question] Step validation

Hi Roubert,
I have a question re validation mechanism, as follows:
My step inflates a fragment that contains a recyclerview with standard cards. When a card is clicked then I store a value in mem. The step is valid when a valid value is present.
The problem is that I do not know how to link  invalidateStep function to a change state so I can validate the step when a card is clicked.
How could it be implemented?
By the way, I am using Java, not Kotlin.
Many thanks!

Hi, thanks for your question 😃. I need to do a spike to see how we can solve it and found the best ensure. We can talk more about that on hangouts to talk, pls, call me on<EMAIL_ADDRESS>😄

Thanks for prompt reply, Roubert — Well, I ended up adding fun validateStep() : Boolean in Step interface and then checking call result in toNextStep() before increaseStep is called.
There are probably much better solutions (listeners) but it's what I wanted.
:)


Switch from script elements to comments and comment elements

It required a series of crazy IE hacks, but I figured out how to make comments work in all browsers.
The advantages to comments are:

They don't affect sibling CSS selectors, while script tags do. For example, +, :first-child, and :nth-child() can all be messed up by using script markers.
DOM traversal methods that only operate on elements will ignore comment markers but not script markers
HTML comments are valid anywhere, whereas script elements are not even though they work

First, regular comments can be pulled out quickly in IE9 and all other browsers via document.createTreeWalker. This method is actually equivalent to using document.createNodeIterator on comment nodes, because they can't have children. The advantage to createTreeWalker is that it is supported in old versions of Firefox (works in 2.0; didn't bother to test in anything older), whereas createNodeIterator wasn't implemented until Firefox 3.5.
IE 6-8, of course, is what makes this exciting. First of all, legacy IE supports the <comment> element that like other elements can have an id and can be retrieved via document.getElementById. However, the comment element acts entirely like an HTML comment from a parsing and rendering perspective. Thus, these elements don't affect CSS selectors. (The exception is :first-child in IE7, which does not properly ignore non-element nodes of any type.) The other problems are that IE doesn't seem to allow comment nodes to be children of select elements. However, the contents of the comment become a non-rendered textNode child of the select, so it is possible to special case this particular bug and just check the childNodes of all the select elements. Finally, IE has major issues with inserting "zero-scope" nodes, including comments, via innerHTML. I figured out that somehow putting <script></script> keeps IE from stripping out comment elements that follow, and these empty script tags are removed even when in the middle of content inserted via innerHTML. I added a test to double check that case.
All tests passed in Mac Firefox 2.0, 3.0, 3.6, 9.0, current Chrome, Opera, Safari, and XP IE6, 7, 8, and Windows 7 IE9.

Note, there are lots of old comments that assumed the script marker implementation, and the way that morph.checkRemoved is being called from the .html function but not by other mutators should be cleaned up. Given that the checkRemoved function has to try and get the markers, it is probably better to do this check in the mutator functions instead of getting them twice. However, these seemed out of scope of the pull request.

@nateps I've put together a comparison of performance between your comment-based solution and the existing

Made some performance fixes. For some reason, jsperf returns very different results if the tests are run in a different order, which makes me a little skeptical of using that.
I wrote a very simple benchmark: https://gist.github.com/1518620
Just put the URL of the script file as the hash. For example:
metamorph-bench.html#https://raw.github.com/tomhuda/metamorph.js/master/lib/metamorph.js
metamorph-bench.html#https://raw.github.com/nateps/metamorph.js/master/lib/metamorph.js
Based on this benchmark, the comments implementation is now about the same speed. You can compare to the old implementation:
metamorph-bench.html#https://raw.github.com/nateps/metamorph.js/f3346a5957024bd0feca336bd226844fdd899f41/lib/metamorph.js
In FF9, old comment implementation took 4433ms, new comment version took 1756ms, and script version took 1780ms.

Unfortunately, I ran into a hiccup with IE9 and <select> elements that I haven't figured out how to resolve. I hadn't noticed before, because IE9 was not actually using the range implementation, and it was falling back to

Any further questions or concerns about this pull request? As far as I know, all outstanding issues with it have been fixed.

Ping. Any more comments / concerns?
Thanks!
Nate

@nateps I think there are still performance concerns with the iterator approach, especially in documents with a large number of elements.


Handle count(*)

This PR adds support for count(*). I did not find any other functions than count which expect a * argument yet, but I'm sure there are some?
Surprisingly (to me) I did not need to make any changes to translate_expr, only to analyze_expr.
limbo> SELECT count(id) FROM users;
2
limbo> SELECT count(*) FROM users;
2
limbo> SELECT count(*) FROM users where id = 1;
1
limbo> SELECT count(id) FROM users where id = 1;
1

Other aggregation functions such as sum fail, since they expect a specific column:
limbo> select sum(*) from users;
Parse error: sum bad number of arguments

Thanks! This is actually semi-incidentally already implemented as part of the query planner refactor here: https://github.com/penberg/limbo/pull/281/commits/691578edc7e45de0faec2679da0e142fbe1b736c

Thanks both!


Remove version: Jackett.Jackett version 0.20.2663

404 - release deleted
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/Jackett/Jackett/releases/download/v0.20.2663/Jackett.Installer.Windows.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 918)


needs_warnings not returning error code or writing to error log

Usage of  -W shall handle all warnings as errors and the sphinx-build executable shall return a non-zero value as error code. Also the usage of -w <file> shall write all warnings to a file.
This works incase of Sphinx warnings, but not for warnings created with needs_warnings. Because of this pipelines cannot be configured to break incase of needs_warnings.
To reproduce the problem, do the following steps

Create needs_warnings in conf.py
Create a need warning within any rST
Execute sphinx-build as follows from a console

sphinx-build -M html docs _build -W --keep-going -w error.log

Observe need_warnings on the console
Execute the following from the console

echo $?

0 is returned (a non-zero value is expected)
Check the file error.log
Only the following line is present

WARNING: Sphinx-Needs warnings were raised. See console / log output for details.

All needs_warnings are expected in the log.
Could it be that needs_warnings is always writing to stdout instead of stderror (even with -W)?

Thanks for the great bug reports. It helps a lot.
To be honest, I thought -W gets handled the correct way, as I use it in some project as well.
It is true, that the output of the single warning checks are producing a normal log.infoon stdout.
But if one or more warnings are detected, a final log.warning is written, with the text:
"Sphinx-Needs warnings were raised. See console / log output for details."
This final log.warning should then stop the build, if -W option is used.
The used logger is coming from sphinx.
Will check, if raising an exception or even a specific sphinx.errors.SphinxWarning will set the exit code more stable.

@danwos
You are right. I observed too that the below statement would be present in the logfile
Sphinx-Needs warnings were raised. See console / log output for details.
What would be nice if all need_warnings also appear in the log. This could be a second step, if technical possible.

--keep-going will always set exit code to 0, even if there are warnings.
This is based on sphinx and we can't do anything here.
For the warning message to error log: We can have a config option needs_warnings_always_warn.
If True, Sphinx-needs will raise a sphinx-warning for each not passed warning check (Default is False).
So the first not passed warning will stop the build if used together with -W.
If used with keep-going, all warnings should get written to error log.

@danwos @haiyangToAI  Thanks for the analysis on exit code and the feature for writing warnings to error log.
@danwos  I wanted to verify again the part about exit code which you mentioned.

--keep-going will always set exit code to 0, even if there are warnings.

The sphinx documentation mentions this however differently (see below or here). Here is it mentioned that an exit status of 1 will be raised. Is this then a Sphinx bug?

-W
Turn warnings into errors. This means that the build stops at the first warning and sphinx-build exits with exit status 1.
--keep-going
With -W option, keep going processing when getting warnings to the end of build, and sphinx-build exits with exit status 1.