appcompat android dependency

* What went wrong:
Could not resolve all files for configuration ':compileClasspath'.
> Could not find com.android.support:appcompat-v7:25.0.1.
  Searched in the following locations:
      https://repo1.maven.org/maven2/com/android/support/appcompat-v7/25.0.1/appcompat-v7-25.0.1.pom
      https://repo1.maven.org/maven2/com/android/support/appcompat-v7/25.0.1/appcompat-v7-25.0.1.jar
      http://dl.bintray.com/jetbrains/spek/com/android/support/appcompat-v7/25.0.1/appcompat-v7-25.0.1.pom
      http://dl.bintray.com/jetbrains/spek/com/android/support/appcompat-v7/25.0.1/appcompat-v7-25.0.1.jar
      https://jcenter.bintray.com/com/android/support/appcompat-v7/25.0.1/appcompat-v7-25.0.1.pom
      https://jcenter.bintray.com/com/android/support/appcompat-v7/25.0.1/appcompat-v7-25.0.1.jar
      https://jitpack.io/com/android/support/appcompat-v7/25.0.1/appcompat-v7-25.0.1.pom
      https://jitpack.io/com/android/support/appcompat-v7/25.0.1/appcompat-v7-25.0.1.jar
  Required by:
      project : > com.github.moove-it:fakeit:v0.5

I am pretty new to Kotlin as a whole and was trying to use this package in a spark app, it seems i need to also have this android dependency?
I saw there was another issue that was closed that said it removed all android deps.

Facing the same issue.


One click to navigate

Hi, firt, thank you for your work, i want to ask you to include one click to open files and archives option
Thanks

Duplicate of #261

An option to open archives would be interesting, can you let us know why you think offering it built in will lead to a better experience than integrating with 7zip or other similar software?

I dont mean to open zip archives, the feature i think will be good is the
option to do just one click on the mouse to open files and folders, i have
using this configurations on the desktop and file explorer since windows xp
and tho need to do double click  is annoying me
Ing. José Antonio Rovira Puig
Cel.  04455 1951 7402
Considera el medio ambiente antes de imprimir este correo
El jue., 11 de jun. de 2020 a la(s) 21:05, Yair Aichenbaum (
<EMAIL_ADDRESS>escribió:

An option to open archives would be interesting, can you let us know why
you think offering it built in will lead to a better experience than
integrating with 7zip or other similar software?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/files-community/files-uwp/issues/1025#issuecomment-643023597,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD4ENRSJ7RXO2IPXUOMLUMDRWGEM5ANCNFSM4N35C4BQ
.

@kyddox In that case we will be merging this issue with an existing one #261.


HttpClient connection management

The default HttpClient probably only has 2 connections per host in it's pool.  Create more adequate defaults as well as a pattern for customization.
See this link.

I increased the default from 2 to 20, however have not put in a pattern for customization yet.
20 is a bit of a magic number... any thoughts @petrsvihlik ?

@aweigold What if there'll be 5k requests coming to the site? Why not set it to more? Are there any downsides?

I almost set it to 100 for that reason @petrsvihlik ... The downside is someone shooting themselves in the foot with their CPU when they should be caching your responses... but that said, the OS should free the proc when the thread is blocking on an http response.
The default total pool size for the Apache HttpClient I'm using was 20, so I just carried over their thinking to the host limitation.

I'm just going to check in a set method quick... that way there is a failsafe...

@aweigold all makes sense to me, i think we can close this one. thanks


CON-2368: HTML widget bugfixes

removed touchStart event listener from links
added clearfix to avoid display issues at sibling widgets

Coverage remained the same at 19.345% when pulling bf6974b022c99329dce84660ae22bd065e28d500 on CON-2368-links-in-html-widget-not-working into 96a48afcf428ca2c8e1781013480eda7b196ec99 on master.


Add checks when opening Voice & UDP

VoiceChannelJoin right now calls code to open both new voice websocket and udp connection. But once those are open they should ignore requests. Allowing the bot/client to join different voice channels. Might need to still do some checking for channels on different guilds/servers because they should require a separate connection.

These have been reworked to properly allow calling VoiceChannelJoin multiple times.


Rearrange Configuration View

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

18 PSF tokens rewarded. TXID: 930ad6f06feaa0bcd8484c4c7bfb2476b77530b79e3ddbae13092c3eb8f3ca7c


Async content node weirdly dissapearing

Hello there!
I've started using this gem for creating a dashboard and ran into a strange issue. The container is being removed somehow, instead of having its content replaced with what comes from the AJAX's response. Take a look:

My structure is pretty straightforward:
# view.html.erb
<%= render_async foo_path do %>
  Loading number of logins...
<% end %>

# _partial.html.erb

Number of logins:
 <%= @logins_count %>

Weirdly enough, I had it working just fine after a few tries. Then as I continued with other changes, it stopped working again. I even reverted to a commit I thought I had it working and it just didn't work.
¯\_(ツ)_/¯
I can't pinpoint exactly what could be going wrong, any guess?
Thanks for the gem! I first got to know it by the Semaphore's article and knew I would be useful any time I were to work with async loading partials with Rails. :)

I got it working intermittently:

One thing that caught my attention is the difference in DevTool's preview for the response.
Application-wise, everything is and seems the same:
Started GET "/dashboard?utf8=%E2%9C%93&dashboard_form%5Brange_key%5D=last_4_weeks&commit=Create+Form" for ::1 at 2018-04-06 18:09:00 -0300
Processing by DashboardsController#show as HTML
  Parameters: {"utf8"=>"✓", "dashboard_form"=>{"range_key"=>"last_4_weeks"}, "commit"=>"Create Form"}
  Rendering dashboards/show.html.erb within layouts/application
  Rendered<EMAIL_ADDRESS>(0.7ms)
  Rendered<EMAIL_ADDRESS>(9.1ms)
  Rendered dashboards/show.html.erb within layouts/application (16.8ms)
  Rendered application/_header.html.erb (2.3ms)
Completed 200 OK in 206ms (Views: 202.0ms | ActiveRecord: 0.0ms)

# First request:

Started GET "/dashboard/queries/logins_count?range_key=last_4_weeks" for ::1 at 2018-04-06 18:09:01 -0300
Processing by Dashboard::Queries::LoginsCountController#call as */*
  Parameters: {"range_key"=>"last_4_weeks"}
   (199.1ms)  SELECT COUNT(*) FROM "customers" WHERE ("customers"."..." BETWEEN $1 AND $2)  [["...", Sun, 04 Mar 2018], ["...", Sat, 31 Mar 2018]]
  Rendered dashboard/queries/logins_count/_call.html.erb (0.4ms)
Completed 200 OK in 207ms (Views: 6.5ms | ActiveRecord: 199.1ms)

Started GET "/dashboard?utf8=%E2%9C%93&dashboard_form%5Brange_key%5D=last_month&commit=Create+Form" for ::1 at 2018-04-06 18:09:06 -0300
Processing by DashboardsController#show as HTML
  Parameters: {"utf8"=>"✓", "dashboard_form"=>{"range_key"=>"last_month"}, "commit"=>"Create Form"}
  Rendering dashboards/show.html.erb within layouts/application
  Rendered<EMAIL_ADDRESS>(0.6ms)
  Rendered<EMAIL_ADDRESS>(8.3ms)
  Rendered dashboards/show.html.erb within layouts/application (17.4ms)
  Rendered application/_header.html.erb (2.2ms)
Completed 200 OK in 253ms (Views: 249.7ms | ActiveRecord: 0.0ms)

# 2nd request:

Started GET "/dashboard/queries/logins_count?range_key=last_month" for ::1 at 2018-04-06 18:09:08 -0300
Processing by Dashboard::Queries::LoginsCountController#call as */*
  Parameters: {"range_key"=>"last_month"}
   (265.8ms)  SELECT COUNT(*) FROM "customers" WHERE ("customers"."..." BETWEEN $1 AND $2)  [["...", Thu, 01 Mar 2018], ["...", Sat, 31 Mar 2018]]
  Rendered dashboard/queries/logins_count/_call.html.erb (0.5ms)
Completed 200 OK in 275ms (Views: 7.6ms | ActiveRecord: 265.8ms)

I debugged this a little bit further and I was able to fix it by setting the dataType to 'html' in the $.ajax call.
In the failure case, the response returned was a jqXHR object, instead of the expected HTML. It failed replacing the HTML. It did contain the HTML I wanted inside response.responseText though:

After patching the $.ajax call, I got this proper response:

(note the this.dataType: 'html'/this.dataTypes: ['text', 'html'])
Is it desirable to have dataType set to 'html'? Aren't we always expecting an HTML here?
Or, would it be possible to configure this param like in #52?

Hey @filipewl, thanks for submitting an issue and posting about detailed debugging 🙇
This is really a strange issue, didn't happen to me before. I'm just interested - are you doing something different in the controllers depending on the range_key param? More specifically, I'm interested in how are you rendering the response inside your controller.

Is it desirable to have dataType set to 'html'? Aren't we always expecting an HTML here? Or, would it be possible to configure this param like in #52?

I'm not sure about dataType being set to html always. It would probably be the best to make it configurable as you said.

This is really a strange issue, didn't happen to me before.

Yeah, I don't think this should be happening with anybody else. 😕

are you doing something different in the controllers depending on the range_key param? More specifically, I'm interested in how are you rendering the response inside your controller.

Here's what I have:
# app/controllers/dashboard/queries/foo_count_controller.rb

module Dashboard
  module Queries
    class FooCountController < ApplicationController
      def call
        respond_to do |format|
          format.js do
            @count = Dashboard::Queries::FooCount.call range
			# The problem continues even if I do not use `Dashboard::Queries::FooCount.call range` at all:
			# @count = 1

            render partial: 'call'
          end
        end
      end

      private

      def range
		# Return a pre-defined date range.
        Dashboard::Range.for params[:range_key]
      end
    end
  end
end

<%# app/views/dashboard/queries/logins_count/_call.html.erb %>

Number of logins:
 <%= @count %>

As I noted, even running the action without calling any external code also doesn't work. I also tried commenting out the respond_to/format.js blocks.
I'm starting to think that maybe it's a problem with the response's content type returned by Rails? I've tried setting the content type manually without avail, but maybe I'm doing it incorrectly. I'm on Rails <IP_ADDRESS>, by the way.
Or with $.ajax dataType's intelligent guess? It seems to be that Rails is returning a content type of ["text", "script"], when what I needed is ["text", "html"].

I'm not sure about dataType being set to html always. It would probably be the best to make it configurable as you said.

I agree. Maybe it could break somebody else use if we hardcode it.
Do you need help reviewing #52?
I'll try to come up with a new PR to optionally set $.ajax's dataType if that's okay.
Thanks for the help!

Aaaah, I seem to have figured out one of the mysteries.
It seems Chrome was HTTP caching my requests, so I wasn't noticing some of changes I had applied to my action. I checked the "Disable cache" option in the Dev Tools and I'm getting a better picture now.
The error happens when I wrap my action/render inside the respond_to/format.js blocks. Rails prints text/javascript for response.content_type inside the action. $.ajax then interprets it as a text/script and fails to replace the content.
When I remove the respond_to/format.js blocks, Rails prints nil for response.content_type, $.ajax interprets it as a text/html and the content is replaced (I couldn't notice it was working because I had a bugged response cached 😓).
I managed to get it working, without patching render_async, with respond_to/format.js blocks, by adding response.content_type = 'text/html' inside it!
For my case, the respond_to/format.js blocks matter because I don't want the users opening the path in the browser.
Could you try using respond_to/format.js to see if that's really the problem, please?
Using respond_to/format.js can be common in some Rails apps, so it'd be better if the gem could cover these use cases seamlessly (without the need to manually change the response.content_type).

That's more elegant, indeed! I'll use that, thanks.
I'll submit a PR with that change to the README soon then.
😊
Cheers!


[bug]: Canvas Scale in the Unified Canvas getting stuck on strange values

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Windows
GPU
cuda
VRAM
8GB
What happened?
When working with an image that doesn't fit inside the view area conformably the 'canvas scale' gets set to a percentage less than 100% and it gets stuck there.
You can still zoom in and out but mouse wheel returns to the original percentage, not to 100%.
Reset View also returns to the original percentage, not to 100%.
On a 1080p monitor with Chrome

a 512x768 image will set it to 98%
a 512x832 image will set it to 92%

This happens when sending an image to the canvas or when you generate one in the canvas and then hit Reset View.
Screenshots
No response
Additional context
No response

This is the canvas viewing scale - it doesn't affect generation. The intention is that you can quickly reset the view to see the whole canvas.
In #2436, I've updated the button so that a double-click sets the view to 100%.
I think this is the best of both worlds but happy for other suggestions.

Yeah good suggestions. I'll get a number entry added and test some ways to do more precise zooming.
The canvas was built on a laptop with trackpad which allows for very small scrolling adjustments - the stepped scroll intervals you get with a mouse never really crossed my mind.


Automated cherry pick of #2849: fix: 虚拟机更改项目时，eip同时变更

Cherry pick of #2849 on release/2.10.0.
#2849: fix: 虚拟机更改项目时，eip同时变更

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.10.0@a2db6bb). Click here to learn what that means.
The diff coverage is 0%.

@@               Coverage Diff                @@
##             release/2.10.0   #2852   +/-   ##
================================================
  Coverage                  ?   7.61%
================================================
  Files                     ?     411
  Lines                     ?   64677
  Branches                  ?       0
================================================
  Hits                      ?    4923
  Misses                    ?   59331
  Partials                  ?     423

Flag
Coverage Δ

#aFlag
7.61% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/guest_actions.go
0% <0%> (ø)

Continue to review full report at Codecov.

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

/approve
/lgtm


Toasts - No more alerts !

Description
Using alerts are boring :)
Currently when we register the alerts from windows.alert() looks pretty weird on the go, i would love to change the way it works.
I would like to use toasts instead of alerts.

They looks cool
They makes the alerts much more managable !

Screenshots

Something i want ⤵

Additional information
I need these changes for all :

User Registration
User Login
Club Registration
Clubs Login
Events Creation

Hello! I'd like to work on this addition! Please tell which position you want the toasts to pop-up at(Bottom or top? Left middle centre?)

This would be a great addition. And will improve the UI ❤

Hello! I'd like to work on this addition! Please tell which position you want the toasts to pop-up at(Bottom or top? Left middle centre?)

I would prefer top-right for the toasts !

yeah we can use react-toastify library for the toasts. I am ready If you allow me to contribute.

@yashwanthSRIVAT  I need this done by tommorow morning. I have some sponser presentations.
This is a high priority.

@IAmTamal yup. It's almost done😄


Added support for gaussian splatting ply file save

Issue
Although the output of the system is a Gaussian splatting, it does not save the file into a standardized format. Which means additional routines are required to visualize the result in the other Gaussian splatting visualizer.
Changes

Added requirements for plyfile==0.8.1 for Gaussian splatting support.
In utils/common_utils.py, added additional procedure for converting params.npz into gsplat.ply. Conversion does not preserve every information, e.g., trajectory is not recorded in Gaussian splatting format.
Changed a single character typo in README.md

Related issue
https://github.com/spla-tam/SplaTAM/issues/22

Thanks for this pull request! It has been merged in: https://github.com/spla-tam/SplaTAM/pull/78


docs: remove check_api from tools-manual.json

My project check_api is now archived and no-longer maintained.
I will add the successor project in use by APIs.guru in a separate PR.

@MikeRalphson you can also create .asyncapi-tool in your repo instead of opening a PR, if you want

/rtm


npm run build not working

🚨 I'm having issue when npm run build 🚨
npm run build not working in BotFramework-webchat
Node Version : v12.14.1
NPM Version : 6.13.4

Complete Log :
2020-08-04T06_09_17_616Z-debug.log

Hi @sanjayror, I just cloned and built the repo with no issues. Are you following the steps listed in the build docs? As they indicate, from the root directory you'll want to:

Prep the repo by running

npm ci
npm install

Run npm run bootstrap
Run npm run build

Hi @stevkan
Thanks for Quick response.
Now I'm able to npm run build

but after the [npm run build success] bundle from /packages/bundle/dist/ is empty
dist folder is not created, I checked the complete package but dist folder not found.
please help why my dist folder not created !!

@sanjayror, Look in /packages/bundle/dist. You should find the files created there.

Hi @stevkan
Thanks for your response

If I see /packages/bundle/ there is not dist folder.
m'i missing something ?
Can you suggest, that will be very helpful.

Hi @stevkan
Thanks for your time.
I need to generate webchat.js only once. If possible can you please generate webchat.js file for me.
Path :
https://github.com/microsoft/BotFramework-WebChat/blob/master/packages/bundle/src/renderMarkdown.js
After make a little change in this file :-

const html = customMarkdownIt.render(markdown);
return html;
//return sanitizeHTML(html, SANITIZE_HTML_OPTIONS);
because I want to skip sanitize html process.
Can you please generate webchat.js for me.
Thanks in advance

Hi @sanjayror, unfortunately, that is not something I can do for you. I can continue to help you resolve your issue, however.
When you run any of the commands to build Web Chat, do you see any errors listed if you scroll back upwards? Also, you might want to clone the repo in your system's root directory just in case there is an issue with the length of some of the directory/filename names.

Hi @stevkan
Thanks for help
i'm attaching the npm run build complete log of cmd. Can you please look into this. I can't see error, Is there any permission issue !!
npm run build.txt

@sanjayror, I noticed in the first log file you provided you are working in your "c:" drive and in the second file you are working in your "e:" drive. Why the two and could this be part of the issue?
Also, I am running Node v14.6.0 and npm v6.14.5. Can you try updating and try again, as well?

@stevkan now I'm able to generate files
Thanks for your support

Hi @sanjayror, I'm glad you were able to get it work. As for your new question on size, I see you opened a new issue, #3408, which is the appropriate action.
Closing this as resolved.


Got these errors running "sift install"

Incomplete due to Failures -- Success: 445, Failure: 93

List of Failures (first 10 only)

 NOTE: First failure is generally the root cause.

 IMPORTANT: If opening a ticket, please include this information.

  - ID: python-software-properties
    SLS: sift.packages.python-software-properties
    Run#: 0
    Comment: Problem encountered installing package(s). Additional info follows:

errors:
- Running scope as unit: run-r0d1cd958ef8d4778bd0cffb67e96cf53.scope
E: Package 'python-software-properties' has no installation candidate
- ID: undefined
SLS: sift.repos.docker
Run#: 2
Comment: One or more requisite failed: sift.packages.python-software-properties.python-software-properties
- ID: undefined
SLS: sift.repos.gift
Run#: 4
Comment: One or more requisite failed: sift.packages.python-software-properties.python-software-properties
- ID: undefined
SLS: sift.repos.sift
Run#: 6
Comment: One or more requisite failed: sift.packages.python-software-properties.python-software-properties
- ID: undefined
SLS: sift.repos.openjdk
Run#: 10
Comment: One or more requisite failed: sift.packages.python-software-properties.python-software-properties
- ID: undefined
SLS: sift.repos
Run#: 14
Comment: The following requisites were not found:
require:
sls: sift.repos.ubuntu-universe
  - ID: afterglow
    SLS: sift.packages.afterglow
    Run#: 19
    Comment: Problem encountered installing package(s). Additional info follows:

errors:
- Running scope as unit: run-ra8a0568d2b55409a999dd47b0925ad74.scope
E: Unable to locate package afterglow
- ID: undefined
SLS: sift.packages.bitpim
Run#: 25
Comment: One or more requisite failed: sift.repos.sift.sift-repo
- ID: undefined
SLS: sift.packages.bitpim-lib
Run#: 26
Comment: One or more requisite failed: sift.repos.sift.sift-repo
- ID: undefined
SLS: sift.packages.bulk-extractor
Run#: 31
Comment: One or more requisite failed: sift.repos.sift.sift-repo, sift.repos.openjdk.openjdk-repo

I'll need the full logs of the cli, should be in your home directory.


Multiple ratelimit strategy support in runtime

When using the gateway, I found that right now the gateway cannot support multiple ratelimit strategy by implementions of KeyResolver in runtime,  for KeyResolver is permited to have one implemention instance。
However, i need remoteAddrKeyResolver, TokenKeyResolver ，etc for the routes or even one route。So, do you have plan to support this demand?
Thank you very much!

what makes you say that multiple key resolvers isn't supported?

what makes you say that multiple key resolvers isn't supported?
when i have two implementions of KeyResolver inteface,  my application failed to start.
Error message:
Parameter 1 of method requestRateLimiterGatewayFilterFactory in org.springframework.cloud.gateway.config.GatewayAutoConfiguration required a single bean, but 2 were found:

Did you mark one as primary?

I can confirm that we currently use three different implementations in our Gateway :)

primary

cool !  @Primary is the key!

I can confirm that we currently use three different implementations in our Gateway :)

3ks!


Added custom cursor to the website

Fixes Issue🛠
Closes #1051
Description👨💻
Added custom cursor to the website.
Type of Change📄

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

Checklist✅

[X] I am an Open Source contributor
[X] I have performed a self-review of my code
[X] My code follows the style guidelines of this project
[X] I have commented on my code, particularly in hard-to-understand areas

Screenshots/GIF📷

https://github.com/Rakesh9100/CalcDiverse/assets/154777864/8f6b8cd9-a1d8-4a07-9cb0-9b45d1958064

@Rakesh9100 please review the PR.

@Rakesh9100

@Rakesh9100 please review the PR

Pls work on these @Anjaliavv51

Implement some light color as background is blue, so purple is not visible properly but make sure to match the UI.
Add the same cursor on About, Contributors, FAQ and Contact page.

@Rakesh9100 sure

@Rakesh9100 please review the PR

@Rakesh9100 please review the PR

@Rakesh9100 please review the PR

@Rakesh9100

Hold on, don't comment again and again, let me review, label will be added once PR is merged!
I cannot see the cursor on About and Contact page, pls check and also pure white don't look good, you can use multi colors as you used in project Beautiify but match the UI @Anjaliavv51

@Rakesh9100 sure

@Rakesh9100 please review the changes.

@Rakesh9100 please review the PR.

Please check the About and Contact page in this Deploy preview, the content is not showing, pls fix it properly, also keep the logic externally and not internally in .html file @Anjaliavv51

@Rakesh9100 please check the deploy , it is added. above are the screenshoots.

This is only I am saying, after your custom cursor is added, the main content is not showing and the loader and your cursor is only showing @Anjaliavv51

@Rakesh9100 I think it can't be added to those two files , due to some conflicts between the js script

It's not about any conflict, but rather about the logic you need to consider and implement to ensure that no script causes delays or leads to content being overridden @Anjaliavv51

It's not about any conflict, but rather about the logic you need to consider and implement to ensure that no script causes delays or leads to content being overridden @Anjaliavv51

Okay I rewrite the code

If you are unable to do, then you can remove your custom cursor from those two pages and make the commits, I will fix that afterward @Anjaliavv51

If you are unable to do, then you can remove your custom cursor from those two pages and make the commits, I will fix that afterward @Anjaliavv51

I will give it a try and mention u

@Rakesh9100 it is done u can merge the PR.
https://github.com/user-attachments/assets/576e98a0-d5fd-4f8f-b552-c05278174a9c
https://github.com/user-attachments/assets/789f0a0a-4a79-4eda-aaea-f42b69c804f0


Update how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth.md

Configurations described in Configure a client application to access a web API is not necessary. The applications might not be web apps, and basic configuration is already described in Register an application with the Microsoft identity platform. Not only that, we cannot use permissions of Microsoft Graph. As described in "Get an access token" section, we need to acquire access tokens of Outlook. And we don't need to add permissions in advance, because we can acquire access tokens dynamically using MSAL or Microsoft Identity Platform v2 endpoint.

Docs Build status updates of commit 47fc6e1:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth.md
:warning:Warning
View
Details

docs/exchange-web-services/comparing-exchange-online-and-exchange-on-premises-client-programming.md
:warning:Warning
View
Details

docs/web-service-reference/getevents-operation.md
:warning:Warning
View
Details

docs/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth.md

Line 20, Column 4: [Warning-bookmark-not-found] Cannot find bookmark '#configure-your-application' in 'legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth.md'.

docs/exchange-web-services/comparing-exchange-online-and-exchange-on-premises-client-programming.md

Line 112, Column 1: [Warning-table-syntax-invalid] Table syntax is invalid. Ensure your table includes a header and is surrounded by empty lines.

docs/web-service-reference/getevents-operation.md

Line 26, Column 1: [Warning-duplicate-h2s] Duplicate heading: 'H2 'Remarks''. Each second level heading (H2) in an article must be unique.
Line 181, Column 1: [Warning-duplicate-h2s] Duplicate heading: 'H2 'Remarks''. Each second level heading (H2) in an article must be unique.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@lindalu-MSFT and @svpsiva , could you review and merge this PR, please?


Typo in the ReadMe.txt of the Xpand.XAF.Web.All package

RequiredModuleTypes.Add(typeof(Xpand.XAF.Modules.MasterDetail.MasterDetailMode));
MasterDetailMode should be MasterDetailModule

the fixing commit is not yet published
https://github.com/eXpandFramework/DevExpress.XAF/commit/9a05de261c4f79da273559074f64117c7cdf1faa

Closing issue for age. Feel free to reopen it at any time.
.Thank you for your contribution.


[nrf5-lock] enable Thread joining

Problem
Joiner is a required feature for Thread certification, which is not supported in the current lock app.
Summary of Changes

Use button 4 to trigger joiner start
Use setup PIN code and discriminator as joiner PSKd and discerner
Fix printing PIN code
Update OpenThread
Reduce stack size to make room for establishing Thread joiner session.

I have solved conflicts.


Japanese RTL vertical writing mode, page selection based on rectangle visibility trailing instead of leading "edge" (CfiNavigationLogic)

See:
https://github.com/readium/readium-shared-js/issues/87
https://github.com/readium/readium-shared-js/pull/113
When an element (e.g. a run of text) spans across two (or more) consecutive "pages" (a "page" is effectively a CSS column, which ; in vertical writing mode ; always fills the entire iframe viewport, as there is no two-page synthetic spread), such element is considered "visible" based on the visibility of the trailing text (i.e. bottom-left corner of the bounding box / client rectangles). This results in the last page being selected, instead of the first. In other word, when hyperlinking to an element that spans from one page to another, the algorithm should bring to view the "leading edge" (e.g. beginning of a sentence), i.e. the top-right corner of the bounding box / client rectangles. You can test this behaviour by playing the Media Overlays of Kusamakura (chapters 1,2,3), and by using the previous/next buttons in the MO control panel to transition from one page to the next (forwards from right to left, then backwards).
EPUB:
https://code.google.com/p/epub-samples/downloads/detail?name=kusamakura-japanese-vertical-writing-20121124.epub

Is that fixed by Juan's PR? ( @JCCR )
https://github.com/readium/readium-shared-js/pu


Support classpath argument

Ammonite is a great enhancement to scala REPL, and I am sure it it will be more and more popular quickly. The only pain I have right now is to load local libraries (either jar or a folder containing class files). Is it possible to support -classpath argument like the scala REPL?
Thanks a lot.

+1 this would be awesome

What would this let you do that you can't already do with load.jar, or in future when you can load.dir after https://github.com/lihaoyi/Ammonite/issues/315 gets implemented?

Well my use-case is, I want to quickly fire up amm with the classpath of the project I'm currently working on. This is what I do with the Scala REPL:
java -Dscala.usejavacp=true \
     -classpath "$(gradle printClasspath --quiet)" \
     scala.tools.nsc.MainGenericRunner

Is there a way to achieve the same effect with amm ?
(BTW, Loving ammonite repl.)

My use case is similar, especially for a path containing .class files. These paths are usually output of dependent local projects. Since ammonite is such a great repl, I would like to use it to test/try the classes in my local projects. IMHO, this probably would be a common use case for any serious development with Scala.
Does "load" support loading of .class files? If so user can work out their our routines to initialize the environment. But still supporting the -classpath would make the repl even more convenient.
Thanks.

@smungee you should be able to use load.jar to load a jar into the classpath. e.g.
~/amm --predef 'import ammonite.ops._; load.jar(cwd/"file.jar")'

There aren't really much docs on this, so feel free to send a PR to write it up and add it to the readme under Artifact Loading. If it doesn't work let me know, because it should.
@weixu02 load does not support loading of class files. That is what https://github.com/lihaoyi/Ammonite/issues/315 is all about. When someone (e.g. you =P) fixes that then we'll all be able to load folders full of class files into the REPL =D

Also, if load.jar is causing issues, come chat on gitter and maybe we'll open a new issue for that. Loading loose classfiles can be discussed at #315

this does not work anymore, and i didn't find the answer in the documentation: http://www.lihaoyi.com/Ammonite/#Ammonite-REPL
what is the correct way to doing this now?
i've tried with this without success
import $jar.`/path/filejar`, mypackage.myclass

try
import $cp.path.to.`file.jar`

?
Not sure if that would work but something like that should
load.jar is now available under interp.load.jar, and it should still work

the first approach worked, thanks.
the second approach didn't:
@ import ammonite._, ammonite.ops._
@ interp.load.jar
cmd5.sc:1: value jar is not a member of ammonite.runtime.Load
val res5 = interp.load.jar

@dportabella This worked for me (it's load.cp, not load.jar):
interp.load.cp(pwd / "somelib.jar")

Hmm, I know there's something I'm missing.  I'm just learning Ammonite and so far I think it's amazing!
I have some scala code packaged into a jar file, that I'm trying to use with 1.0.0 of Ammonite REPL,.
I've tried to load my jar with interp.load.cp(pwd/"myjar.jar"), which did not complain.
The classes/objects in the jar are visible via the auto-complete (tab), but when I try to use them either with a fully-qualified name or in an import, I see "not found: value AwsImage" where AwsImage is the name of the object in question from the jar file.
My gratitude for a little help would be enormous.
Thanks!

@nielsen-at-cgt A couple points:
I assume you've imported ammonite.ops._.

This probably doesn't apply to you, but is good to check nonetheless. load.cp won't complain if the jar doesn't exist. You can make sure the jar exists by using exists! pwd / "myjar.jar".

I suggest you google for scala "not found: value" and read the top 5 matches. I suspect your issue isn't due to load.cp, but some confusion about scala imports/scoping.

Thanks @kliuless, I was indeed importing ammonite.ops._, and did check that I was loading the jar.
The jar file defined a few objects (e.g. AwsImage), and tab-completion did, in fact, offer suggestions for members of AwsImage after my interp.load.cp whereas it didn't do so before the load, so I'm pretty sure the jar was loaded.
If the REPL offers completions, doesn't that imply the objects are in-scope?
Here's a snippet showing how I've defined the objects in my library:
object AwsImage {
    case class ProductCode(ProductCodeType: String, ProductCodeId: String)
    implicit val productCodeFormat: OFormat[ProductCode] = Json.format[ProductCode]
    case class Tag(Value: String, Key: String)
    implicit val tagFormat: OFormat[Tag] = Json.format[Tag]
    case class Ebs(DeleteOnTermination: Boolean,
                           SnapshotId: String,
                            VolumeSize: Int,
                            VolumeType: String,
                            Encrypted: Boolean)

    implicit val ebsFormat: OFormat[Ebs] = Json.format[Ebs]
...

It may well be the case that I'm confused (or something) about imports/scoping.  If that's the case, I would be grateful for your gentle pointer.
What I don't quite understand is why my imports fail, despite the REPL offering options with tab-completion:
mnielsen-mnielsen@ import AwsImage.
!=                         ImageDescription           ebsFormat                  imageFormat                |>
==                         ProductCode                equals                     isInstanceOf
BlockDeviceMapping         Tag                        getClass                   productCodeFormat
Ebs                        asInstanceOf               hashCode                   tagFormat
Image                      blockDeviceMappingFormat   imageDescriptionFormat     toString

mnielsen-mnielsen@ import AwsImage._
cmd5.sc:1: not found: value AwsImage
import AwsImage._
       ^
Compilation Failed
mnielsen-mnielsen@ import AwsImage.ProductCode
cmd5.sc:1: not found: value AwsImage
import AwsImage.ProductCode
       ^
Compilation Failed

The code works fine when I run it as a script.

@nielsen-at-cgt could you create new issue for this and include small reproducer which works with scripts and doesn't with shell? It's always easier to help with debugging actual code than last bit before failure.

@nielsen-at-cgt Is AwsImage in an explicit package? If not, try that. You may be running into this issue. You shouldn't rely on the fact that it works in a script.

Thank you!
That was it.
From: kliuless<EMAIL_ADDRESS>Sent: Tuesday, August 15, 2017 12:28 PM
To: lihaoyi/Ammonite<EMAIL_ADDRESS>Cc: Michael Nielsen<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [lihaoyi/Ammonite] Support classpath argument (#317)
@nielsen-at-cgthttps://github.com/nielsen-at-cgt Is AwsImage in an explicit package? If not, try that. You may be running into this issuehttps://stackoverflow.com/a/9822212. You shouldn't rely on the fact that it works in a script.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/lihaoyi/Ammonite/issues/317#issuecomment-322517269, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AbAZmCYMlzRSEeS6Nqr9G77Icx-PJLR7ks5sYccTgaJpZM4HByXe.

Hi Piotr; thanks for your reply.
I didn’t have my objects in an explicit package– apparently that’s bad.
From: Piotr Kwiecinski<EMAIL_ADDRESS>Sent: Tuesday, August 15, 2017 11:59 AM
To: lihaoyi/Ammonite<EMAIL_ADDRESS>Cc: Michael Nielsen<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [lihaoyi/Ammonite] Support classpath argument (#317)
@nielsen-at-cgthttps://github.com/nielsen-at-cgt could you create new issue for this and include small reproducer which works with scripts and doesn't with shell? It's always easier to help with debugging actual code than last bit before failure.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/lihaoyi/Ammonite/issues/317#issuecomment-322509687, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AbAZmJ5n0tEQztRBynJNCAkEYHPXgr7Wks5sYcA-gaJpZM4HByXe.

I spend several hours getting the right syntax how to load jars into ammonite 1.0.3
for others like me, here is the way I finally converged at:
amm --predef-code 'interp.load.cp(ammonite.ops.Path("/absolute/path/to/my/whateveryouwant.jar"))'

This works for both repl and scripts in principle
Caution 1: even doing import ammonite._ before calling interp.load.cp will result in an error, that load cannot be found on interp, see #758
Caution 2: script file name needs to be add after the amm options, but this is well documented indeed in amm --help
Caution 3: There seem to be current issues with supporting insertion of arbitrary jars... see #756 and #757

@schlichtanders : Thanks!

As a potential new customer to ammonite I want to urge adding support for bog-standard boring old "-cp" or "-classpath" or both or whatever command line arguments per scala repl or java style. Having to go and learn some new syntax for something basic like that just to get started productively is kind of a brick wall in terms of usability.

second @raould, being able to add directories or individual jar-files to the classpath is the difference between usability and non-usability for some use cases.  It should be something that can be done either inside the REPL or via an environment variable detected by the REPL when it starts up.

I know this opinion has been voiced previously, but having a -cp flag would make Ammonite go from a neat tool used now and then, to something I would use almost every day.....


Problems with spack on tsa if one has no cosmo git access

Before reproducing all of the issues, one has to do the following on tsa to get spack running:
module load python
source /project/g110/spack/user/tsa/spack/share/spack/setup-env.sh

I get all of the bugs in this environment.
All of the bugs seem to only appear if one does not have access to git@github.com:COSMO-ORG/cosmo.git.

If I execute spack load --first <packagename>, I get a file called not, which is empty, in my current folder

If one executes a spack load --first <packagename> one gets command not found a bunch of times.

-bash-4.2$ spack load --first<EMAIL_ADDRESS>-bash: Warning:: command not found
-bash: Warning:: command not found
-bash: Warning:: command not found
-bash: Warning:: command not found
-bash: Warning:: command not found
-bash: Warning:: command not found

spack find --format "{hash}" is broken because of error messages that get printed in the hash string:

-bash-4.2$ spack find --format "{hash}" dawn@master

Warning: no access to git@github.com:C2SM-RCM/cosmo.git => not fetching versions

Warning: no access to git@github.com:COSMO-ORG/cosmo.git => not fetching versions

Warning: no access to git@github.com:C2SM-RCM/cosmo.git => not fetching versions

Warning: no access to git@github.com:C2SM/icontools.git => not fetching versions

Warning: no access to git@github.com:C2SM-RCM/int2lm.git => not fetching versions

Warning: no access to git@github.com:COSMO-ORG/int2lm.git => not fetching versions

aeypgfhztd6dmg4kitw3tkr3zwo2tzcq

Debugging showed, that the reason why spack find --format "{hash}" dawn@master prints warnings is because our version detection system is triggered by spack and since it can't access the repos, a warning is emitted.
This warning is emitted by the version detection system so we can see it in spack info.

#395 should fix this. I tested it in a private instance.

Christoph confirmed that the issues is solved.


Add Dangerous Workflow policy

Adds new policy from Scorecard check. Includes scorecard package to store
client across policy runs.

workflow.go has a lot of shared code with binary.go. I'm going to think more about a generic policy vs. these explicit ones. If we will want more explicit policies per scorecard check, I'll find a way to share the code properly. Otherwise, I'll work on a generic policy that can have custom settings and messages.

I want to update the scorecards version then pull in https://github.com/ossf/scorecard/blob/eedd16d5be62a0dfdb48410a44d67d367263e027/checker/detail_logger_impl.go#L23 then re-open this PR.

Updated scorecards to 4.1.0, but looks like the detaillogger constructor is not there yet, so leaving those there for now.


Move stride validator to own hw

@altbro commented on Tue Oct 25 2022
Setup node
monitoring
move validation keys

create a separate grafana board


Re-opening saved file not working

Hey,
thanks for providing this awesome app.
I just downloaded the latest version from the appstore (1.1.1. build 16). When I create a new file, edit it, save it, exit and try to open it again, I'm greeted with an empty canvas. The file is edited during opening and grows in size. This operation is non revertable, so after opening the file is broken, and can also not be imported in the online version anymore. The preview tho is working for me (pressing space bar on the initially saved file, before reopening it).
Do you know what I'm doing wrong?
Kind regards,
Sebastian

Hello, @fellnerse
I’m sorry to hear about the inconvenience you’ve experienced.
It seems you’ve encountered an unexpected bug. To assist in troubleshooting, could you please let me know if this issue occurs every time you edit and save a file, and then reopen it to find it blank? Additionally, what version of macOS are you currently using?
Since opening .excalidraw files directly modifies them at the file system level, there’s a risk of data loss. To safeguard your important files, I highly recommend using ExcalidrawZ’s import feature to add all your files into the application. This way, you can export them as needed and benefit from the application’s data security measures.
To import files, open ExcalidrawZ, click on File in the toolbar, then select Import. You can choose an entire folder from your file system to import without affecting your original data.
Best regards
Chocoford

Hey @chocoford,
thanks for your fast reply!
So yes, it happens every time. But I'm able to drag and drop a "valid" file downloaded form the website into the editor, and it shows it also correctly.
I'm running on sequoia 15.1 m2
If I'm honest I did not understand yet the purpose of those two different windows. So when using the import feature I'm able to view the file correctly, that works. But when changing the file, I'm not able to save it. The save button is greyed out.
Hope this helps! I can also provide some debug logs if needed/possible

Hello, @fellnerse
When you open the application directly, you’re presented with the main window of the app, which is an full-featured excalidraw editor with a built-in saving feature. All files are saved by ExcalidrawZ to a database, and there is also a file history feature that allows for data recovery. In this mode, data is saved automatically (with a minimal debounce), so there’s no need to worry about saving files. That’s why the “Save” button appears grayed out.
However, when you open a .excalidraw file through Finder, it launches a temporary .excalidraw file editor. This editor directly modifies the file data on Finder. It’s typically used for quick edits or viewing a .excalidraw file, with the option to import based on your needs.
Regarding the issue you encountered, I haven’t yet tested on macOS 15.1. I’ll investigate and address it following an update. Thank you for your feedback, and if I’m still unable to reproduce the issue during testing, I may request debug logs from you.

Unfortunately I had the similar issue: I've been working on presentation where each slide is a page in the folder in ExcalidrawZ.
Somewhat big files (.png's from clipboard) noticeably affected page switching speed (it would take up to 3-4 seconds to display the page but it wasn't an issue for smaller pages).
What was worse, when I've finished one big page and switched to the new one, after revisiting the old one — the major part of the work on this page was erased like it wasn't captured.
Happened to me on MacOS Sonoma 14.5.
I personally find that ExcalidrawZ is a very handy and useful tool and I do appreciate the authors work! But I'm a bit afraid of losing my data&work so I'll wait for new updates regarding realibility.

@gulivan
I’m very sorry that you’ve encountered an issue. I’ll check into it as soon as possible.

Thank you for your effort! I'll try to reproduce it and come up with more details.

Hello, @chocoford ! Thank you for your effort! I'll check it out!


add lnd

Signed-off-by: Jake Sylvestre<EMAIL_ADDRESS>

Coverage remained the same at 60.202% when pulling 1469360a8f0652a3baf73bf8904a8f6132a79798 on lnd into 471d5c69fa19d55c53505d1a6effe7844a681454 on master.


Formal syntax definition

I'm writing a syntax highlighter, and it would be very, very helpful to have a formal syntax definition to work from. I'm relying on examples from the documentation and on educated guesswork, and I'm afraid that I might not handle all of the corner cases correctly.

The Babel source might be useful: https://github.com/babel/babel/blob/master/packages/babylon/src/plugins/flow.js.


TST, MAINT: bump OpenBLAS to 0.3.7 stable

use the stable release of OpenBLAS 0.3.7 in CI testing
instead of a commit on the development branch prior to
that release

Similar to https://github.com/numpy/numpy/pull/14321, except this time I didn't test on my fork first, so may need a few adjustments depending on what CI says.

Thanks!
Checking the MD5 hashes is probably not needed here, because none of the build artifacts generated here are distributed anywhere. The situation is different with the scipy-wheels repository.


how to detach replay buffer from GPU memory during training and inference

hi, is there a simple way to detach replay buffer from gpu for both training and inference? in particular for R2D2. Thanks.

Not sure what you mean. The replay should be on CPU due to this line: https://github.com/google-research/seed_rl/blob/master/common/utils.py#L57


Rename "Proximity Awareness" to "Advanced Wayfinding"

ITS-Pro time category: https://its-pro.ucsd.edu/browse/MA-86
This is complete when:

[x] "Proximity Awareness" is renamed to "Advanced Wayfinding" in the Settings view

Verified in #967


[Question] Is the repository still maintained?

Hello @sammchardy :wave: is the repository still maintained? At what directions are your efforts at this period for the project? I was looking into some minor tweaks, so I forked, but interested to hear what you have in mind :pray:

Accepting PRs of course, periodically updating


Add test for provenance that covers multiple subjects

The existing tests for wildcards resolves to a single file. This adds a test for multiple files by completing .github/configs-docker/multi-config.toml and running it in CI.

@tiziano88 requested to be cc'ed

Running in https://github.com/slsa-framework/example-package/actions/runs/8562087181

The run failed in https://github.com/slsa-framework/example-package/actions/runs/8562087181/job/23464658395. PTAL


Add workaround for Java version to Troubleshooting

Closes #413

Coverage remained the same at 36.529% when pulling 828c1b9397621abfeaa7a9f1e2c24759ca082880 on rgieseke:patch-1 into d8ecab764504361c33b38bbd39e119a4b9d6a046 on kermitt2:master.

Many thanks @rgieseke !


[Newcomer] Attaching the proper headers for Google Storage "Simple Upload"

(Sorry in advanced for the basic question)
For google's storage direct uploads, it requires the following format of the headers:
POST https://www.googleapis.com/upload/storage/v1/b/myBucket/o?uploadType=media&name=myObject HTTP/1.1
Content-Type: image/jpeg
Content-Length: [NUMBER_OF_BYTES_IN_FILE]
Authorization: Bearer [YOUR_AUTH_TOKEN]

I can get the 'Content-Length' from UploadingFile.size which is the object property created through this module, but not sure how to retrieve the mime-type/content-type property for the file thats selected. Does anybody know?
More info on google's direct storage http requests

Change options to:
multipart: false
Hope this helps

outdated (prior release 3.x)


How can I disable rendersuggestion?

renderSuggestion in Autosuggestion is breaking the styling of my page. How do I disable it?
It's adding a bullet like a li. It seems like renderSuggestion has a parent ul.
I saved the data in my state and I would be using it in another component.
So is there any way that I can disable renderSuggestion? Or display nothing?

Don't quite understand what are you trying to do. Can you please clarify?

 I'm sorry, but I have completely forgot why did I open this issue. The only thing I remember, I used this package for outline project.


Option to skip "Compatibility Checker", to manually edit the efi afterwards.

Hi, I was going to try this as it looks really interesting and promising, but I got stuck at the Compatibility Checker, as I'm using an AMD 6950 XT.
The issue is, it's a super easy fix, NootRX.kext makes the 6950 XT fully compatible, with hardware acceleration and everything working perfectly in macOS.
But OpCore refuses to continue as the 6950 XT is not compatible, and there's no option to continue anyway and then add the kext manually afterward.
An option to continue with the gathered efi, kexts, etc., for manual editing afterward would be a great feature, it could show a disclaimer about it being "unsupported", or only for "advanced users" or something along those lines.
It would also open up for OCLP setups, as a similar issue applies to certain unsupported cards that you can then manually add support for afterward (so similar to this open issue, although my specific situation is of course a bit different).
Edit: I just saw the section on the ReadMe that I clearly overlooked before, and there's a section: "Use AMD GPUs Navi 23 and Navi 21 with WhateverGreen (default will use NootRX", so I'm a bit confused as to why it's refusing to continue?
I'm on an 12th gen intel CPU, but I don't plan on using the iGPU from that, only the 6950 XT.
2nd edit: I just tried my GTX 670 for testing, a natively supported card that does not need the Nvidia drivers, etc., on macOS, and that is showing up as "Unsupported" as well, so I'm really not sure what is going on here 🤔

Please send me the report.json file from the two scenarios you tried, and I will check it again

The lack of support for the RX 6950 XT at the moment is a peculiar issue. More details can be found at https://github.com/lzhoang2801/OpCore-Simplify/blob/main/Scripts/datasets/pci_data.py#L1066C1-L1067C1 and https://github.com/lzhoang2801/OpCore-Simplify/blob/main/Scripts/compatibility_checker.py#L104C1-L105C51

Here's the report for the 6950 XT, the GTX 670 one sadly got wiped when I just created this one again! I renamed the file for the GTX one, but didn't realize that the entire SysReport folder gets wiped when creating a new report, so I'll have to switch out the GPU and make a new report when possible! Will see if it's possible to do today, if not, tomorrow :)
Report.json

I've understood the issue now. The logic that the Compatibility Checker is applying to the laptop at the moment is that only the GPU card connected to the internal screen is working, which is why you're getting the unsupported result as mentioned. Let me make some adjustments to better fit this situation

I see, that would explain why I'm having the issue with the GTX 670 as well, and I did have a feeling it could be something to do with using a laptop/eGPU setup! I'm assuming that you won't need the report for the 670 any longer then?
I really appreciate you looking into it, as someone who's hackintoshed a lot of machines over the years, I really would love to finally have a tool like this, as I'm always looking for ways to ease and automate the setup (the way I have on Windows and Linux), as I wanna spend less time tinkering with stuff, and more time being productive :)

Help me test with new commit https://github.com/lzhoang2801/OpCore-Simplify/commit/582e2ad2a26e68b058149dcda627903a5c96e59d

Perfect, that did it! Awesome :D
I'll give it a shot tomorrow, see if I can get macOS installed on this machine with this tool! :)

"Whatever the outcome, just enjoy what an automated tool can accomplish!"


Share stateful LSTM layers

Hi,
if I want to reuse stateful LSTM layers in a separate model like in the code below (very simplified version)
from keras.layers import Input, LSTM, Dense, Reshape
from keras.models import Model

import numpy as np

batch_size = 1
N = 10
M = 2

input = Input(batch_shape=(batch_size,N,))

lstm = Reshape((1,N))(input)
lstm = LSTM(100, stateful=True, return_sequences=False, name='lstm')(lstm)
output = Dense(M, name='lstmDense')(lstm)

model = Model(inputs=input, outputs=output)

print(model.predict(np.array([[10,10,10,10,10,10,10,10,10,10]])))

input2 = Input(batch_shape=(batch_size,N,))
layer = model.get_layer('lstmDense')(model.get_layer('lstm')(Reshape((1,N))(input2)))
otherModel = Model(input2, layer)

print(model.predict(np.array([[10,10,10,10,10,10,10,10,10,10]])))
print(otherModel.predict(np.array([[10,10,10,10,10,10,10,10,10,10]])))

I get the following error when calling otherModel.predict(...)
2017-05-04 12:51:43.601816: W tensorflow/core/framework/op_kernel.cc:1152] Invalid argument: You must feed a value for placeholder tensor 'input_1' with dtype float and shape [1,10]
	 [[Node: input_1 = Placeholder[dtype=DT_FLOAT, shape=[1,10], _device="/job:localhost/replica:0/task:0/cpu:0"]()]]
Traceback (most recent call last):
  File "/home/userName/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1039, in _do_call
    return fn(*args)
  File "/home/userName/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1021, in _run_fn
    status, run_metadata)
  File "/usr/lib/python3.5/contextlib.py", line 66, in __exit__
    next(self.gen)
  File "/home/userName/.local/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 466, in raise_exception_on_not_ok_status
    pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: You must feed a value for placeholder tensor 'input_1' with dtype float and shape [1,10]
	 [[Node: input_1 = Placeholder[dtype=DT_FLOAT, shape=[1,10], _device="/job:localhost/replica:0/task:0/cpu:0"]()]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/userName/git/kerasTests/testBug.py", line 25, in <module>
    print(otherModel.predict(np.array([[10,10,10,10,10,10,10,10,10,10]])))
  File "/home/userName/.local/lib/python3.5/site-packages/keras/engine/training.py", line 1573, in predict
    batch_size=batch_size, verbose=verbose)
  File "/home/userName/.local/lib/python3.5/site-packages/keras/engine/training.py", line 1203, in _predict_loop
    batch_outs = f(ins_batch)
  File "/home/userName/.local/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py", line 2103, in __call__
    feed_dict=feed_dict)
  File "/home/userName/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 778, in run
    run_metadata_ptr)
  File "/home/userName/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 982, in _run
    feed_dict_string, options, run_metadata)
  File "/home/userName/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1032, in _do_run
    target_list, options, run_metadata)
  File "/home/userName/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1052, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: You must feed a value for placeholder tensor 'input_1' with dtype float and shape [1,10]
	 [[Node: input_1 = Placeholder[dtype=DT_FLOAT, shape=[1,10], _device="/job:localhost/replica:0/task:0/cpu:0"]()]]

Caused by op 'input_1', defined at:
  File "/home/userName/git/kerasTests/testBug.py", line 10, in <module>
    input = Input(batch_shape=(batch_size,N,))
  File "/home/userName/.local/lib/python3.5/site-packages/keras/engine/topology.py", line 1392, in Input
    input_tensor=tensor)
  File "/home/userName/.local/lib/python3.5/site-packages/keras/engine/topology.py", line 1303, in __init__
    name=self.name)
  File "/home/userName/.local/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py", line 351, in placeholder
    x = tf.placeholder(dtype, shape=shape, name=name)
  File "/home/userName/.local/lib/python3.5/site-packages/tensorflow/python/ops/array_ops.py", line 1507, in placeholder
    name=name)
  File "/home/userName/.local/lib/python3.5/site-packages/tensorflow/python/ops/gen_array_ops.py", line 1997, in _placeholder
    name=name)
  File "/home/userName/.local/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 768, in apply_op
    op_def=op_def)
  File "/home/userName/.local/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 2336, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/home/userName/.local/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1228, in __init__
    self._traceback = _extract_stack()

InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'input_1' with dtype float and shape [1,10]
	 [[Node: input_1 = Placeholder[dtype=DT_FLOAT, shape=[1,10], _device="/job:localhost/replica:0/task:0/cpu:0"]()]]

whereas if I set stateful to False, everything works.
ubuntu 16.04, python 3.5.2, tensorflow 1.1.0

I have the same issue, did you find why ?

@ThomasJanssoone no, but I haven't looked at it for a while..

me too having the same issue @visionscaper . Any updates!!

No @DeepWolf90, also checkout issue #9084. Any recognition for that issue too? Please comment there if you do.

I too have this issue attempting to share layers of a stateful model. Even though the placeholder for the batched input is not used in the new model, it is still expected that the placeholder is filled regardless of its use. Filling it with an arbitrary value and including it as another Input to the new model resolves the issue, but leads to very convoluted code.


⚠ ClamAV has degraded performance

In 96cd862, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 67 ms

Resolved: ClamAV performance has improved in 88d0783.


GitHub hook unit tests

Adds unit tests for the Github hook.
@jdoconnor @st33b @zvkemp

Passing test run: https://travis-ci.org/lumoslabs/txgh/builds/102491457

Getting a warning when running my tests locally...warning: loading in progress, circular require considered harmful - /Users/mjjacko/.rbenv/versions/2.1.6/lib/ruby/gems/2.1.0/gems/pry-nav-0.2.4/lib/pry-nav.rb
It might be something with my local env...so I'm going to merge and see if it is in Travis

@matthewjackowski Hmm... I've seen that warning pop up for a while now, even as early as the first time I tried running the tests. I'll take a look.


[9.x] Adds support to HEAD in route

Hello, I need to create a route with the HEAD method to update a token, I saw that laravel did not have this support.
Here's a PR adding this feature. Please let me know if anything is missing and if this functionality can come in.
Thanks
Route::head($uri, $action);

Reference to this new method would also need to be added to the Route facade:
https://github.com/laravel/framework/blob/9.x/src/Illuminate/Support/Facades/Route.php
I would also add test for sanity checking 👍

I will make the changes. thanks.

Reference to this new method would also need to be added to the Route facade:
https://github.com/laravel/framework/blob/9.x/src/Illuminate/Support/Facades/Route.php
I would also add test for sanity checking 👍

I included the method in the facade, but I couldn't find the place to create the tests. Do you have any references in a file?

I suggest just using the get method (which responds to head as well) and then if you really need specific HEAD handling to use the $request->isMethod('head') method inside your route.


Test windows and macOs

Test windows and MacOs
remove cancel workflow as it sends unnecessary emails

This will catch install issues on windows @SkandanC
and will also send less emails @HelgeGehring


Add StackExchange service.

Since ServerFault SuperUser and AskUbuntu use the same api, we only need to change the site param.

@vaucn thanks for your PR. Can you update the test case?

Coverage remained the same at 100.0% when pulling b2b05726890a3f1b7d62690d17381b3c3cfa759a on vaucn:feature/search-askubuntu into 7fe051479258d9ac886816f1bc84d459d67a01b0 on vinhnglx:develop.

@vaucn 👍 thanks for your contribute. I'll merge and release a new version in tonight.

@vinhnglx  my pleasure.


"oi" not defined error

oi not defined

I need more information than this. This doesn't tell me anything about the error or where it came from. Please post your full terminal output.

Ohh okie wait
On Fri, Nov 5, 2021 at 1:40 AM Michael @.***> wrote:

Closed #5
https://github.com/TheShadowEevee/BDSX-Discord-Chatter-Plugin/issues/5.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TheShadowEevee/BDSX-Discord-Chatter-Plugin/issues/5#event-5569983101,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATGVXLTRWR6TOXAENI73TSDUKLHQ5ANCNFSM5HKSUZQA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Practice graph command

Use practice server data to create a graph using the last 100 games in any game type

Done in the final 2.0 commit


i cant access one of my wallet but i can access other

Bug report
Operating System: windows 7 ultimate 64 bits
MultiBit Version: 0.5.18
Steps to replicate the problem: Tried to make a payment with a password that is working for another wallet, but the password dont work for one of the wallets...
can you provide the windows version of your password recovery file, so that users using windows can recover their wallets?

Multibit error take my btc , i want my btc back .

I will post any every forum about this bug and how btc owners dont want to resolve it .

Closing due to inactivity.


MM-47004 - Calls: Client-side errors for microphone permissions

Summary

The intention of this is to turn microphone permissions into a non-blocking error so that users can join without granting access to their microphone.
See the webapp version of this: https://github.com/mattermost/mattermost-plugin-calls/pull/189

UX choices I made (please correct if needed @tanmay-des):

The error bar is dismiss-able by pressing on the x (which has a widened touch area to make it easy to hit) and remains dismissed until the next call is started.
Pressing anywhere else on the banner brings you to the settings screen where you can change the permissions.
I changed the designs a bit to be more in line with how mobile does things:

The error bar in the channel is directly below the call bar, so that recent messages are not blocked
I added an error bar in the call screen and put it above the mute button.

Original designs: https://www.figma.com/file/1GbA5pz0bxtr0raxWFFqcZ/Calls%3A-Error-Handling

Ticket Link

https://mattermost.atlassian.net/browse/MM-47004

Checklist

[x] Added or updated unit tests (required for all new features)
[x] Has UI changes
[x] Includes text changes and localization file updates
[ ] Have tested against the 5 core themes to ensure consistency between them.

Device Information

Android: 13, Pixel 6
iOS: 15.7, iPhone 7 plus

Screenshots
Looks like:

And for reference, this is what it looks like once you've granted permissions:

Release Note
Calls: Users can now join calls without granting microphone permissions; a dismissable error bar will appear.

@justinegeffen Could you take a look at the new strings in en.json please? The text has to be relatively short, though. Not much longer than it is now. Thanks!

@streamer45 I don't believe so -- changing permissions (whether in a current call or not) seems to restart the app.

@streamer45 I don't believe so -- changing permissions (whether in a current call or not) seems to restart the app.

Oh so not even rejoining would work but a full app restart is required. Noted, thanks.

@streamer45 I don't believe so -- changing permissions (whether in a current call or not) seems to restart the app.

Im aware that Android foes this most of the time, but does it also apply to iOS?

@enahum Every time I've done it iOS it restarts the app. I can't guarantee it happens all the time, but it so far has (just tested again). I've added @Phrynobatrachus to the PR to test a production build on iOS and Android -- after dev reviews are done, Cass, can you test both builds and try turning on and off the permissions and verify that the app restarts each time?

@streamer45 I can reproduce that strange behaviour on Android, but not on iOS. We're only asking for permission once in the code. It doesn't look like anything we have control over, so I'll merge and we can revisit if we come up with a fix.
(I did a quick search, and it looks like from Android 11+ we're only allowed to ask twice before the OS just immediately returns a "blocked". Since this is asking twice, maybe there's a bug in the permissions module we're using. I checked the native code and there's nothing obvious I can see that would do this, but I admit I didn't go too deep.)

@Phrynobatrachus Can you take a QA pass on this now please? Thanks!

Building app in separate branch.

Artifact links:
https://output.circle-artifacts.com/output/job/c2e8572b-c0c2-43f0-a20d-31e08e6b29cd/artifacts/0/tmp/artifacts/Mattermost_Beta.apk
https://output.circle-artifacts.com/output/job/5be4e8f8-f3aa-4c8f-a6d7-4ae83bf2cbea/artifacts/0/tmp/artifacts/Mattermost_Beta.ipa

The error text is cut off on my iPhone.

Cass, can you test both builds and try turning on and off the permissions and verify that the app restarts each time?

Confirmed for iOS, checking Android now.

The app appears to restart on Android when modifying permissions from Allow -> Don't allow, but not the reverse.
The error text is also cut off on that device as well - Galaxy A53 5G.

Thanks @Phrynobatrachus for pointing out the error bar wrapping. I made the error bar expand to accommodate longer strings (important for translations).
As for the Android not restarting when changing from Don't allow -> Allow, @enahum do you know of a way to detect a change in permissions? Otherwise I think we're just going to have leave it that way and the user will get permissions after leaving and rejoining the call... Maybe changing the message to To participate, open Settings to grant Mattermost access to your microphone and rejoin the call.

@tanmay-des what do you think?

@cpoile I think this flow works as well i.e asking the user to re-join the call makes a lot of sense and is a general troubleshoot pattern.
Also the Message is a lot better than the pervious one.

@justinegeffen is this string ok?
@Phrynobatrachus given that I don't think we can detect the permission changes from Don't allow -> Allow in Android, is the changed text (and the next height) good for now?

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/25633
https://circleci.com/gh/mattermost/mattermost-mobile/25632

Artifact links:
https://output.circle-artifacts.com/output/job/e67cea6b-d143-47c5-a787-e5cf1d479407/artifacts/0/tmp/artifacts/Mattermost_Beta.apk
https://output.circle-artifacts.com/output/job/5d85b516-c6eb-4013-975b-082b5f705fef/artifacts/0/tmp/artifacts/Mattermost_Beta.ipa

As for the Android not restarting when changing from Don't allow -> Allow, @enahum do you know of a way to detect a change in permissions? Otherwise I think we're just going to have leave it that way and the user will get permissions after leaving and rejoining the call... Maybe changing the message to To participate, open Settings to grant Mattermost access to your microphone and rejoin the call.

@cpoile one thing I can think of is having the AppState listener in the component, once the state is active (as in the app returns to the foreground) you can do a check of the permission, if the permission was granted, then handle it accordingly to remove the banner ?

Thanks @enahum, I was able to use useAppState to trigger a recheck. It was a little tricky though, because if you request new permissions, that seems to set the app's state to background (even though it stays in the background). So I couldn't reuse the existing permissions code (it was causing an infinite loop, thinking the app was going back and forth from foreground to background).
Anyway, now when users on Android go to settings and enable the microphone, the app will get rid of the error state and request the microphone track and connect that to the call. Much nicer. (iOS just reloads whenever there's a permissions change.)
@Phrynobatrachus Would you have time to do another round of tests? (I've tested it all on my two phones, so if you don't have the bandwidth I think we'll still be fine.)

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/25786
https://circleci.com/gh/mattermost/mattermost-mobile/25785

Artifact links:
https://output.circle-artifacts.com/output/job/cc84ac63-ce18-4f4e-a874-e70b674d833e/artifacts/0/tmp/artifacts/Mattermost_Beta.ipa
https://output.circle-artifacts.com/output/job/372cf3ee-d9a6-442d-ad3d-ea281a0da0b2/artifacts/0/tmp/artifacts/Mattermost_Beta.apk

@Phrynobatrachus Shoot. Have to merge, can you hold off on testing until that's done? Apologies!

@Phrynobatrachus All ready, thank you!

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/25796
https://circleci.com/gh/mattermost/mattermost-mobile/25795

Artifact links:
https://output.circle-artifacts.com/output/job/3f00d2d8-f569-4b8f-8491-ee39e7382039/artifacts/0/tmp/artifacts/Mattermost_Beta.ipa
https://output.circle-artifacts.com/output/job/36187cdf-dbfe-48a7-a419-bfb845ae5256/artifacts/0/tmp/artifacts/Mattermost_Beta.apk


Cirrus: More podbot/success improvements

Fix one disused and two missing required env. vars.
Slightly optomize processing of commit-author names
Fix problem of printing duplicate author names when there are multiple
commits.
Fix bot's IRC connection timeout too short.
Add a single retry of IRC connection after 5-second delay.

Signed-off-by: Chris Evich<EMAIL_ADDRESS>

LGTM

/approve
@mheon @vrothberg @giuseppe @baude @QiWang19 @jwhonce PTAL

/lgtm


[BUG] Enabling plugins.lsp.rust-analyzer and rustaceanvim spawns 2 LSPs

Field
Description

Plugin
rustaceanvim

Nixpkgs
unstable

Home Manager
-

[x] I have read the FAQ and my bug is not listed there.

Description
If you have both lsp.rust-analyzer.enable set to true and are using rustaceanvim and work on a rust project 2 instances of rust-analyzer will spawn. Additionally the one used by rustaceanvim does not appear to honour the LSP config provided to the plugin.
I discovered this as I am trying to ignore the .direnv folder in my Rust projects as rust-analyzer gets stuck on scanning for roots on it indefinitely using this config.
To reproduce after setting up this config, edit a Rust project and do :LspInfo you will see 2 rust-analyzers. One which is just running rust-analyzer and another that is using the absolute path to an instance of rust-analyzer in the Nix store. The one using the absolute path is the lsp.servers one, the one using just rust-analyzer is the rustaceanvim instance.
I have not yet tested disabling rustaceanvim's instance of rust-analyzer to see if I can get the lsp.servers instance of rust-analyzer to take note of the config provided but the rustaceanvim one does not seem to honour the ignoreDirs option.
Minimal, Reproducible Example (MRE)

programs.nixvim = {
  plugins = {
    rustaceanvim = {
      enable = true;

      server.settings = {
        files = {
          excludeDirs = [ ".direnv" ];
        };
      };
    };

    lsp = {
      enable = true;

      servers = {
        rust-analyzer = {
          enable = true;
          installRustc = true;
          installCargo = true;
        };
      };
    };
  };
}

Well the upstream plugin mentions:

Warning
Do not call the [nvim-lspconfig.rust_analyzer](https://github.com/neovim/nvim-
lspconfig) setup or set up the lsp client for rust-analyzer manually, as doing so may cause conflicts.

Well the upstream plugin mentions:

Warning
Do not call the nvim-lspconfig.rust_analyzer setup or set up the lsp client for rust-analyzer manually, as doing so may cause conflicts.

We should probably add some validation against us having lsp.servers.rust-analyzer enabled while using rustaceanvim then if that is the case to prevent misconfigurations and future bug reports.
The configuration being ignored though is definitely a problem though which I haven't yet got to the bottom of but still testing to figure out how that is supposed to work.


Documentation is not correct (data-on-text, data-off-text)

Documentation says data-on-label and data-off-label, which is incorrect.
It's data-on-text and data-off-text.

This is the documentation for a previous version of BootstrapSwitch (v2.0.1).
The current options are here.


Add RBDS PI callsign decoding for Mexico

US and Canada should be good to go, I need to find a reliable source of information as to how Mexico is encoding their call signs.  It was actually kind of hard to find this for Canada.

From what I've been able to discern so far, there is no rhyme or reason to the Mexican PI codes.  This may end up as just ignoring them and reporting the frequency as "MUX".

I'm ignoring this problem until it comes up.


API evolution?

What is the recommended way to evolve an API when using tarpc.
E.g. when serving 1000s of clients that are built using the same subcrate with the service definition, how to update the whole system (server and all clients) to the new version?
Since there are no numbered fields like in proto, is the only way to evolve the API (e.g. when they require more arguments etc.) to introduce new functions, (like appending the version at the end like _v1, _v2...)? (And then removing old functions when no client is running the old version anymore.)

cc @shaladdle
Hey, thanks for asking this! This is definitely something I (and I feel comfortable speaking for @shaladdle as well) have been thinking about, but there are a lot of moving pieces and the best approach remains elusive. I think in the long run tarpc is going to have to take a firmer stance. For now, introducing new versions of RPCs seems like a good, simple solution, if not the most elegant.
One long-term solution might be to require args to impl Default and mandate that new args only be appended to the end of the RPC args list. Then something like #[serde(default)] described in https://github.com/TyOverby/bincode/issues/179 could work. This wouldn't allow you to remove args, but the client could always just supply the default.

I've been doing some experiments with serde_cbor. It looks promising.

It's compact: for small structs it is about the same size as bincode. Annotating the fields with serde(rename) is also useful for decreasing the field binary footprint as well as providing a stable API while supporting the renaming of a field.
Unknown fields encountered during deserialization are ignored. This isn't cbor-specific except for the fact that cbor serializes field names whereas bincode doesn't (which means memory layout matters).
Missing fields during deserialization can be initialized with the Default trait, allowing struct fields to be added backwards-compatibly.

Enums are semi-supported, and what support is lacking is because serde's support is currently limited. What works: if an enum impls Default, then a struct field of that enum type can be omitted. However, unknown variants (e.g. adding a third variant to a 2-variant enum) currently cause things to blow up; that would/will be fixed by https://github.com/serde-rs/serde/issues/912.

Example
extern crate serde;
#[macro_use]
extern crate serde_derive;
extern crate serde_cbor as cbor;

#[derive(Debug, Default, Deserialize, Serialize)]
// The default annotation allows the omission of fields;
// they'll be set using the Default trait.
#[serde(default)]
struct Foo {
    #[serde(rename = "0")]
    i: i32,
    #[serde(rename = "1")]
    bar: Bar,
    #[serde(rename = "3")]
    qux: Qux,
}

#[derive(Debug, Default, Deserialize, Serialize)]
#[serde(default)]
struct FooBig {
    #[serde(rename = "0")]
    renamed_i: i32,
    #[serde(rename = "2")]
    j: i32,
    #[serde(rename = "1")]
    renamed_bar: BarBig,
    #[serde(rename = "3")]
    qux: QuxBig,
}

#[derive(Debug, Default, Deserialize, Serialize)]
#[serde(default)]
struct Bar {
    #[serde(rename = "0")]
    baz: String,
}

#[derive(Debug, Default, Deserialize, Serialize)]
#[serde(default)]
struct BarBig {
    #[serde(rename = "1")]
    z: [u8; 1],
    #[serde(rename = "0")]
    baz: String,
}

#[derive(Debug, Deserialize, Serialize)]
enum Qux {
    #[serde(rename = "0")]
    Unknown,
    #[serde(rename = "1")]
    First {
        #[serde(rename = "0")]
        x: i32,
    },
}

#[derive(Debug, Deserialize, Serialize)]
enum QuxBig {
    #[serde(rename = "0")]
    Unknown,
    #[serde(rename = "1")]
    First {
        #[serde(rename = "0")]
        #[serde(default)]
        x: i32,
        #[serde(rename = "1")]
        #[serde(default)]
        y: u64,
    },
}

impl Default for Qux {
    fn default() -> Self {
        Qux::Unknown
    }
}

impl Default for QuxBig {
    fn default() -> Self {
        QuxBig::Unknown
    }
}

fn main() {
    let foo = FooBig {
        renamed_i: 4,
        j: 5,
        renamed_bar: BarBig {
            z: [1],
            baz: "baz".to_string(),
        },
        qux: QuxBig::First { x: -5, y: 10 },
    };
    println!("Original: {:#?}", foo);
    println!();

    let bytes = cbor::to_vec(&foo).unwrap();
    println!("Serialized: {:?} (len: {})", bytes, bytes.len());

    let foo: Foo = cbor::from_slice(&bytes).unwrap();
    println!("big to small: {:#?}", foo);
    println!();

    let bytes = cbor::to_vec(&foo).unwrap();
    let foo: FooBig = cbor::from_slice(&bytes).unwrap();
    println!("small to big: {:#?}", foo);
}

I haven't done any performance comparisons yet. I doubt there would be many surprises, but I do want to see if cbor can handle Vec optimally.

This is great, we are deploying clients on embedded devices that only have internet via prepaid sim cards so we want to reduce the traffic as much as possible. JSON has a lot of overhead due to its textual format and base64 for binary data..
By "if cbor can handle Vec optimally" do you mean storing the object keys only once for all items in the Vec? It should be possible by writing a custom serde serializer/deserializer for Vecs.
Btw, do you know the encoded size of objects in CBOR vs Proto? Is CBOR encoded data smaller?
Btw, this project also looks interesting: https://github.com/tailhook/probor

Oh, sorry, I meant the handling of Vec<u8>, which naively might be serialized by iterating over each individual byte, rather than writing all bytes in one go.

Does that mean that tarpc will switch to CBOR soon?
(I'd prefer CBOR over bincode because of the ability to evolve the API better).

I think switching away from bincode to another serde-compatible binary format that supports API evolution is imminent. CBOR is a good fit but I'm going to shop around a bit / discuss with @shaladdle, etc.

Maybe the Protobuf or Thrift binary format would be better than CBOR, if in the case of Vec<T> they encode the keys of T only once..

I haven't seen a protobuf or thrift crate that supports serde. Have you? The main requirements for tarpc's serialization protocol are:

Serde compatible
Supports API evolution
Fast
Compact

What are the contenders, other than CBOR?
Maybe it would make sense to use a modified CBOR (with the optimized Vec<T> encoding)?
Since all Vecs will be homogeneous.

CBOR is only the first I've spent time looking into. Will update here over the coming days as I investigate the various options.

I haven't seen a protobuf or thrift crate that supports serde. Have you?

Just found this (not complete yet):
https://github.com/dflemstr/rq/tree/master/serde-protobuf

Thanks, I'll look into those further! I also just saw this Reddit post able ssmarshal.

And now there's prost!

Are all signatures of the  service!{} methods mapped to an enum?
When I have an enum like enum M1 { A(u8) } that I'm serializing with bincode but then I try to deserialize into enum M2 { A(u8), B(u128) }, will it work, even though the enums have different sizes?
With the current tarpc version, is it safe to add more methods to a service!{} on the server, while clients are deployed?
Or will that make the server and client protocol incompatible due to the differences in the binary size of the enum that the service!{} represents?

The current version of tarpc uses bincode for serialization. I believe but can't currently verify that the size of an enum on the wire is u32 + sizeof(variant), so I think adding new methods is backwards-compatible.
I've been working on-and-off on a new version of tarpc internals that makes the transport 100% pluggable. This will allow users to encode the messages however they'd like. It's still very much work-in-progress at this moment, and I haven't made a branch on github yet. I like this avenue of exploration, though, because it would allow for users to define their own backwards-compatible wire protocols. This would free me to focus development efforts on the client and server implementations and higher-level features.

@tikue Thanks for the quick reply, I'm looking forward to a better way to evolve the protocol.
But is it true that all signatures of the service!{} methods are mapped to an enum? (One case per method, args as members of the case.)

Sorry, yes, that is indeed the case.

I believe, now that tarpc is transport-agnostic, that this is an external concern. Closing but feel free to reopen if you think I've missed this!


redux-actions bundles lodash almost in its entirety

redux-actions.min.js is 32.4 kB, 82% if which is lodash:

However, we only need the following things:
import camelCase from 'lodash/camelCase';
import identity from 'lodash/identity';
import includes from 'lodash/includes'
import isArray from 'lodash/isArray';
import isEmpty from 'lodash/isEmpty';
import isFunction from 'lodash/isFunction';
import isNil from 'lodash/isNil';
import isPlainObject from 'lodash/isPlainObject';
import isString from 'lodash/isString';
import isSymbol from 'lodash/isSymbol';
import reduce from 'lodash/reduce';
import toString from 'lodash/toString';

Looks like babel transforms these things just fine, only requiring individual files:
var _isString = require('lodash/isString');

I'm guessing maybe internally, lodash methods are just incredibly interconnected which causes such a hefty dependency weight.

lodash functions and their weights in minified bytes.
22    isArray
23    identity
23    isFunction
23    isSymbol
80    isNil
189   isString
450   isPlainObject
687   isEmpty
1053  toString
1606  includes
5381  camelCase
17413 reduce

Thanks for these extremely useful details!

@lxe What tool did you use to produce that visualization?


Fixing docs issue with kazari

This PR resolves #185 and fixes the docs issues with kazari
@raulraja could you please review?
Thanks!

Codecov Report

Merging #197 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #197   +/-   ##
=======================================
  Coverage   71.51%   71.51%
=======================================
  Files          38       38
  Lines         323      323
  Branches        2        2
=======================================
  Hits          231      231
  Misses         92       92

Continue to review full report at Codecov.

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