Error during setup of component o365

The issue occurred, I think, since 2024.8. I am not sure what the exact nature is of the issue, but I am seeing a lot more logs recently surrounding async, so maybe something is not working as expected in Home Assistant? Let me know if I can provide more details that would help.

Core
2024.8.1
Frontend
20240809.0

Logger: homeassistant.setup
Source: setup.py:416
First occurred: 11:24:53 PM (1 occurrences)
Last logged: 11:24:53 PM
Error during setup of component o365
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/setup.py", line 416, in _async_setup_component
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/o365/__init__.py", line 52, in async_setup
    await _async_setup_account(hass, account, conf_type)
  File "/config/custom_components/o365/__init__.py", line 71, in _async_setup_account
    permissions, failed_permissions = await perms.async_check_authorizations()
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/o365/classes/permissions.py", line 88, in async_check_authorizations
    self._permissions = await self._hass.async_add_executor_job(
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/o365/classes/permissions.py", line 171, in _get_permissions
    permissions = json.loads(raw)["scope"]
                  ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Looks like your token is corrupted. Follow instructions here to delete it - https://rogerselwyn.github.io/O365-HomeAssistant/token.html

Latest release will post a repair asking you to re-authenticate if it can't read the token.
https://github.com/RogerSelwyn/O365-HomeAssistant/releases/tag/v4.8.4

Brilliant! The new version started the flow, and I am now connected again.


table nzLeft style error

Reproduction link
https://stackblitz.com/run?file=package.json
Steps to reproduce
nzLeft   样式被覆盖，，nzRight没有问题
What is expected?
左右效果一样
What is actually happening?
左侧效果错误

Environment
Info

ng-zorro-antd
10.2.0

Browser
chrome

Please double check your reproduction link, it does not seem to be a correct sharing url.


Add format check and format code

CI is failing because of https://github.com/domluna/JuliaFormatter.jl/issues/343, I'll work around it here by using NamedTuple() instead

Before I fix it, I'll run CI again to get the failing badge

This seemed to be failing even though I had formatted locally without any changes. Going to leave this for now...

This seemed to be failing even though I had formatted locally without any changes

I had formatted with YASStyle but did not choose the style for the format check! Resolved it by making it use the same Manifest and run.jl script (which of course I should've done from the start). This should be fairly simple and robust now I think, since the check just calls run.jl in the format project on Julia 1.5.3 and checks if any files have changed, which is exactly how I'd do the check locally.

Just to clarify, this covers "fail if linting fails" but doesn't yet do anything fancy like "open a PR with the lint fix", right?

Just to clarify, this covers "fail if linting fails" but doesn't yet do anything fancy like "open a PR with the lint fix", right?

Yeah, exactly. I saw a workflow to open PRs, https://github.com/julia-actions/julia-format/blob/master/workflows/format_pr.yml, but I think it opens them against main (or master maybe), but I'd rather it opens them against non-merged PRs that fail the format check. Probably that's possible somehow, but I'm not really sure how.


Pagination is inverted

The newest post displays a disabled 'Older' button on left pagination and 'Newer' on right pagination. I believe pagination should be the other way around. :-)

Added this on master, will close and create a PR on a feature branch instead.


Report value for organisms with no comparable value

Description of feature
When an organsim missing QC criteria is passed in, still provide the warning for the QC value but also show the value.

fixed in #12


Feature requests for subusers

First and foremost, it would be great if the server owner could select the first name, last name, and username of the account being created. I can see some potential problems with this (for example, if a malicious server owner creates hundreds of accounts to try and steal all the usernames or something) so perhaps maybe you can allow the admin to configure a limit on the amount of subusers each account can create per server? For example, the admin configures "Subusers Per Server: 5", so John Doe who owns Server1 can only make 5 subusers for that server.
Secondly, and this is my more highly desired request, would it be possible to configure another section in the Users tab that shows how many subusers a specific account is related to? Right now, when clicking on a user that's assigned as a subuser, it doesn't even show that subuser with an associated server. I understand why this is like this (because the user isn't the owner, and if they were the owner we can't delete the user account until the server is deleted), but I've been getting very confused lately with certain people creating subusers and I have no clue who they are, who created them, or what server they're associated with without going into each and every server manually and documenting them. Thus, I think it would be neat if there was another section on the Users page, maybe next to Servers, called Subuser, with a number next to it indicating how many servers this person is a subuser for. Then, if you click on their account, maybe it can show up under Associated Servers but with the fancy new Subuser icon.

Is this solved by #209?
I don't really get what your asking for here.

I think some of my request overlaps with #209, but I had an additional request. See my attached image:
http://imgur.com/S30fjn5


Add licensing information

You submitted this asset on Godot's Asset Library with license "MIT", but there is no license text that confirms it in this repository: https://godotengine.org/asset-library/asset/edit/917
See http://choosealicense.com/
Same for your two other demos submitted to the Asset Library.

Added to all of them


Implement Claim Publisher database functionalities

📚 Context
The input reader update (#348) was meant solely for the input reader, and did not take any other service into consideration.
The claim publisher will need additional support to execute its task, and the repository needs to be updated beforehand to accommodate this. We will need to create additional tables, relations, constraints, as well as implement ways to interact with this information in a safe and atomic way.
It's important to bring attention to how we interact with the data to keep the database consistent, as some transactions are only valid if all the parts move accordingly.
✔ Solution
The claim publisher functionalities do not require an update on the database model, as of the moment of writing this issue (2024-06-25).
The claim publisher will need to get the latest claim generated by the validator after finishing an epoch, and all associated proofs. This is the only functionality the Claim Publisher requires from the database.
📈 Subtasks

[ ] Implement necessary repository functions
[ ] Create tests for the new functions

This issue is obsolete with #493, as the Claim Publisher will no longer exist.


Get a list of my tasks with one command

Would be nice to be able to get the list of my not completed tasks with one command.
Case:
I have a list of tasks:

a
b

I marked 1 and 2 as done. I join next stream. And add new tasks. For example

c
d

Now the tasks are actually added as

a
b
c
d

and if I do !done 1 it checks off task a, but I would expect it to check out the task c, since a and b are done.
Having a command that gives me the list of my task would make it easier navigating it.

is this referring to the multi-task widget? You can check the incomplete tasks using: !check or !mytasks for the index of the task, or you can also do !done c if you remember the task name but not the index.
Let me know if you found this helpful or not!


Support of std::any with dart dynamic?

Is your feature request related to a problem? Please describe.
I had a small issue when I tried to wrap a Command Pattern around the flutter bridge, with a struct like this:
pub struct FireEvent {
    pub source: FireSource,
    pub id: Box<dyn std::any::Any>,
}

Now instead of doing it this way, I need a bunch lot of optionals for all possible datatypes that my FireEvent should support.
Describe the solution you'd like
A support for std::any::Any mapping to dart dynamic would be amazing
Describe alternatives you've considered
A lot of optionals 😞
Additional context
I have tried to add this functionality myself, but I didn't get particularly far, mainly due to my missing knowledge of Any

What about enum?

yeah you're right, I used an enum for the source and then totally forgot about it. Also an enum is propably more type safe and allows for less stupid mistakes

I agree, rust enums are really wonderful :)

maybe it's a worthy update to the docs, how a dynamic field could be wrapped? Though it's not truly dynamic but I think it's worth the mention

Sure, feel free to PR

Actually, the enums don't work, the bridge is creating a new class but is lacking the subimplementations (though creating a reference lacking the implementations). I'll share an example when I get home.

so I have this on the rust side:
pub struct FireEvent {
    pub source: FireSource,
    pub data: FireData,
}

pub enum FireData {
    CGM(CGM),
    User(User),
    Fast(Fast),
}

pub enum FireSource {
    User,
    Fast,
    CGM,
    Event,
    Summary,
}

which generates this on the dart side:
FireData _wire2api_fire_data(dynamic raw) {
    switch (raw[0]) {
      case 0:
        return FireData_CGM(
          _wire2api_box_autoadd_cgm(raw[1]),
        );
      case 1:
        return FireData_User(
          _wire2api_box_autoadd_user(raw[1]),
        );
      case 2:
        return FireData_Fast(
          _wire2api_box_autoadd_fast(raw[1]),
        );
      default:
        throw Exception("unreachable");
    }
  }

and this:
@freezed
class FireData with _$FireData {
  const factory FireData.cgm(
    CGM field0,
  ) = FireData_CGM;
  const factory FireData.user(
    User field0,
  ) = FireData_User;
  const factory FireData.fast(
    Fast field0,
  ) = FireData_Fast;
}

but there is no FireData_CGM, FireData_User ... generated

actually it's probably more of a freezed problem, I'll try to figure it out cause the builder is not fixing it

nvm, I have just forgot to add flutter pub add --dev freezed in the project I was using

I'll close this as it doesn't seem relevant for now


Fix per-project configuration behaviour

Per-project settings should take precedence over user settings, just as stated in the docs:

Note that package settings from Settings panel will be ignored if a configuration file was found.

This PR fix this behaviour and ignores user settings if finds a local configuration file.

Huh, I was under the impression (from that description) that specifying a config file caused flake8 to ignore those flags, if the flags are overriding the config file (which makes sense) then I agree with you that this should be changed.

Yes, flake8 doesn't ignore those flags with the --config flag :(
Btw, I've just realized my solution has a problem. I should check also the config file exists, not only if the parameter is specified (I'll update my solution soon).

I updated my solution. Take it a look and tell me if you see something wrong :D

@rarguelloF Are you interested in addressing the review comments?

Yes I'm interested, I'll review your comments this week.
And sorry for disappearing so long, I've had some extremely busy weeks 😢
Thanks for your patience!! 😄

No worries, it took me that long to check back 😛.

@Arcanemagus I've already addressed the issues. Please tell me if you want me to change something else :D

LGTM, merging!

Published in v1.13.3 🎉


Jacobian of unit quaternion

Hi, first of all, thanks for sharing that great piece of work, deriving equations and generating auto-code has never been so easy!
After almost completely migrating the derivation of the PX4's state estimator to SymForce, I still want do do an extra step and use the Quaternion and Rot3 objects provided by your package instead of using custom equivalents implemented in a separate helper file (https://github.com/PX4/PX4-Autopilot/pull/21359).
However, until now, in order to compute the observation Jacobian (H) used in the update step of the EKF, we were rotating vectors using a rotation matrix produced as follows:
Rot = sf.M33([[q0**2 + q1**2 - q2**2 - q3**2, 2*(q1*q2 - q0*q3), 2*(q1*q3 + q0*q2)],
                  [2*(q1*q2 + q0*q3), q0**2 - q1**2 + q2**2 - q3**2, 2*(q2*q3 - q0*q1)],
                   [2*(q1*q3-q0*q2), 2*(q2*q3 + q0*q1), q0**2 - q1**2 - q2**2 + q3**2]])

as opposed to:
https://github.com/symforce-org/symforce/blob/8ad6bab799222046deaca098582fc7ad1031fe3e/symforce/geo/rot3.py#L157-L179
which is the "simplified" version of the previous one, assuming a unit quaternion (the rest of the difference between the two equation is just because we're using [w, x, y, z] but this isn't an issue here).
When computing a Jacobian using one or the other "quat -> rot_matrix" methods, it makes sens that both results are numerically different but I haven't yet found a satisfying answer to decide if one or the other is "better". We found in the past that using the "simplified" matrix leads to a more numerically robust covariance prediction (found by experiments) but I'm hoping that you could bring a bit more light to this.
Furthermore, if I generate the Jacobians using the quaternion conjugation directly (v' = q * v * q^-1, without passing by a rotation matrix), I'm getting the same results as when using the "non-simplified quat -> rot_matrix"; which make me unsure if the second method is actually safe to use when computing Jacobians.
Thanks in advance for your help!

Awesome to hear you all are using SymForce for EKF2!

When computing a Jacobian using one or the other "quat -> rot_matrix" methods, it makes sens that both results are numerically different but I haven't yet found a satisfying answer to decide if one or the other is "better". We found in the past that using the "simplified" matrix leads to a more numerically robust covariance prediction (found by experiments) but I'm hoping that you could bring a bit more light to this.

This is interesting - I don't think we have any theory to add here though

Furthermore, if I generate the Jacobians using the quaternion conjugation directly (v' = q * v * q^-1, without passing by a rotation matrix), I'm getting the same results as when using the "non-simplified quat -> rot_matrix"

I'm maybe a little confused by this, assuming the "non-simplified quat -> rot_matrix" is this matrix:
Rot = sf.M33([[q0**2 + q1**2 - q2**2 - q3**2, 2*(q1*q2 - q0*q3), 2*(q1*q3 + q0*q2)],
                  [2*(q1*q2 + q0*q3), q0**2 - q1**2 + q2**2 - q3**2, 2*(q2*q3 - q0*q1)],
                   [2*(q1*q3-q0*q2), 2*(q2*q3 + q0*q1), q0**2 - q1**2 - q2**2 + q3**2]])

which when multiplied by a vector should give you the exact equivalent of q * v * q.conj(), without the divisions you should get from q * v * q.inverse() - some notes in colab here.
I guess the other question (which I could maybe figure out by poking around the EKF2 code) is how exactly you're updating the quaternion from the measurement jacobian, I see the jacobians you're computing are with respect to the 4 quaternion elements (what we'd call the quaternion storage in SymForce) - I think at that point it's getting to more of a question of how EKF2 is doing its update and whether it's important for the projection of the measurement jacobian along the quaternion vector direction (orthogonal to the unit norm constraint) to be correct, if that makes sense?  In particular I'm definitely not sure whether the rotate_conj or rotate_mat methods as I called them in that colab notebook are meaningfully different from each other, given that neither of them is rotate_inv.
Side note: It might also make sense to add a flag to Rot3.to_rotation_matrix() to use the "correct when the quaternion is not unit norm" version?  Although generally most of the methods on Rot3 are intended to work for quaternions at unit norm, and things are primarily geared towards tangent-space jacobians more than 4-dof storage-space/ambient-space jacobians, so I'm not sure

Thanks a lot for your detailed answer @aaron-skydio .

I'm maybe a little confused by this, assuming the "non-simplified quat -> rot_matrix" is this matrix:

Rot = sf.M33([[q0**2 + q1**2 - q2**2 - q3**2, 2*(q1*q2 - q0*q3), 2*(q1*q3 + q0*q2)],
                  [2*(q1*q2 + q0*q3), q0**2 - q1**2 + q2**2 - q3**2, 2*(q2*q3 - q0*q1)],
                   [2*(q1*q3-q0*q2), 2*(q2*q3 + q0*q1), q0**2 - q1**2 - q2**2 + q3**2]])

which when multiplied by a vector should give you the exact equivalent of q * v * q.conj(), without the divisions you should get from q * v * q.inverse() - some notes in colab `here.

Yes, this is what I called the "non-simplified quat -> rot_matrix". When used to rotate a vector, I totally agree that the result is exactly equivalent, assuming a unit quaternion (which is a valid assumption as we're always using unit quaternions too). My concern was when taking the partial derivatives of this rotated vector w.r.t. our state vector.
And I think you made a fair point here: we're computing the 4-dof storage-space jacobian and not the tangent-space one. I mads a copy of your colab to add a snipped showing exactly what I meant.

how EKF2 is doing its update

We're simply adding K * innovation to the state vector using a vector addition as done in a standard EKF (not by using an exponential map as you would do to an element of the tangent space to a quaternion) followed be a re-normalization of the quaternion.

whether it's important for the projection of the measurement jacobian along the quaternion vector direction (orthogonal to the unit norm constraint) to be correct

I guess this is exactly my question, but how to answer it?

Side note: It might also make sense to add a flag to Rot3.to_rotation_matrix() to use the "correct when the quaternion is not unit norm" version?

Given that Rot3 is a rotation element, it has to be a unit quaternion, so I don't think it really makes sense to add this.

Although generally most of the methods on Rot3 are intended to work for quaternions at unit norm, and things are primarily geared towards tangent-space jacobians more than 4-dof storage-space/ambient-space jacobians, so I'm not sure

I'm also convinced that using the tangent-space jacobians is the most correct way to do it, and you already have the option to force the computation using the storage elements (tangent_space=False).
Just to see if there is a difference when deriving a tangent-space jacobian I also added another piece of code in colab and it seems to fail to compute it for everything else than "rotate_mat" (i.e.: Rot3 * V3), is that expected?

Not sure if you fixed this since commenting or if I'm looking in the wrong spot, but looking at the notebook now it seems like it's working and the jacobians computed in that last block (the tangent space jacobians for the three methods) look right to me. Added a line here, but they should all be 0 (even if sympy doesn't make that simplification).

Thanks, this was in fact a really bad example since the jacobian is obviously 0 for that measurement model...

rotate_full_mat and rotate_conj give the same nonzero/"wrong" answer, and rotate_mat seems to give a different nonzero/"wrong" answer, but it's definitely not clear to me if one is better, don't think we can really help you with that

I think this is actually the answer I was looking for. The quaternion covariance shouldn't be defined on its parameters but rather on the tangent space, I added another example here (with a non-trivial jacobian) that shows myself that the this is the correct way by using the jacobians to propagate a covariance matrix into the measurement space.
I'll keep that in mind and we'll use the correct quaternion uncertainty representation and propagation when changing from total-state to an error-state EKF, where the error quaternion is also defined in the tangent-space.
Many thanks again for your help.


[REQUEST] electron-packager configuration

I'm new to Electron/desktop apps coming from a React/web app background. I've started writing an application based on your boilerplate but I haven't been able to get electron-packager to build the actual .app executable.
Have you accomplished that for this repo and do you have any plans to add those instructions to the blog post?

What did you do to build the package?
My tutorial was mostly about bootstrapping, so I hadn't planned on adding packaging instructions.
That said, I tried to quickly build a package. I needed to build the app first, npm run build, and then I ran
electron-packager . MyApp --out=dist/osx --platform=darwin --arch=x64
(you would set whatever flags you need)
This created a .app file that I could run.
Can you tell me a little more about what errors are getting? Or maybe try the above and let me know if it doesn't work.

Hi, I got the .exe with electron-builder. Check out this commit.

cool.

I could open a PR, but i guess I screwed it up adding yarn. Not sure if you are into it, though I don't think there is a way not to. Up to you, @csepulv

I think it is okay to not do a PR. There are various electron packagers, so it might be better to not pick one for the tutorial, which is focussed on setup. You included a pointer to your fork, so that will hopefully help those using electron-builder.

@vicentedealencar 's electron-builder setup commit worked beautifully for me, but it may be handy to add a link to it in the readme, like you've done for the logging capture branch, for visitors who don't think to search the GitHub issues 🙂

done

Hey, did anyone else encounter the issue where if they try to run npm run build before using electron-packager, the window.require statements cause an error because they are not recognized?
I tried switching them out with normal require statements with a try-catch, but that just took me forward to an error in the uglifier the create-react-app build script was using.
Any suggestions? I should be using npm run build before packaging right?
Here's the small repo of the ebook reader I'm working on.

I would take a look at the work @vicentedealencar did. It is here


Is using route parameters really a good idea?

While it is convenient, there are quire a few false positives, where a parameter that was null will be set to a value inside the controller, but the route parameter is still null.
Maybe adding a RouteTreeContext could work, which is initialized with the route parameters, but can be overwritten in the app.

Fixed now, due to the new MenuBundle


[🐛 BUG] Error when aggregating a table with a date column

What went wrong? 🤔
Aggregation in a Taipy table raises an error when there is a date column inside the table.

This worked in 3.1 but not anymore in 4.0.
Nothing shown on the Python console.
Client console:
taipy-gui-deps.dll.js?09280cf3a6e7afe74927:184 TypeError: Cannot read properties of undefined (reading 'dfid')
    at taipy-gui.js?09280cf3a6e7afe74927:184:117165
    at Array.reduce (<anonymous>)
    at xV (taipy-gui.js?09280cf3a6e7afe74927:184:117132)
    at taipy-gui.js?09280cf3a6e7afe74927:184:172564
    at hl (taipy-gui-deps.dll.js?09280cf3a6e7afe74927:184:554395)
    at jr (taipy-gui-deps.dll.js?09280cf3a6e7afe74927:184:574340)
    at taipy-gui-deps.dll.js?09280cf3a6e7afe74927:184:573117
    at Ar (taipy-gui-deps.dll.js?09280cf3a6e7afe74927:184:573177)
    at lr (taipy-gui-deps.dll.js?09280cf3a6e7afe74927:184:566993)
    at Na (taipy-gui-deps.dll.js?09280cf3a6e7afe74927:184:508021)

Expected Behavior
We should be able to aggregate the table even if there is a date column inside the table.
Steps to Reproduce Issue
Run this code and aggregate on Country in the table:
from taipy.gui import Gui
import taipy.gui.builder as tgb
import pandas as pd

data = pd.DataFrame(
    {
        "Country": ["France", "France", "UK", "UK"],
        "Date": ["2020-01-01", "2020-01-02", "2020-01-03", "2020-01-04"],
    }
)
data["Date"] = pd.to_datetime(data["Date"])

with tgb.Page() as page:
    tgb.table(
        "{data}",
        group_by__Country=True,
    )

if __name__ == "__main__":
    Gui(page=page).run(title="Date Aggregation")

Version of Taipy
4.0
Acceptance Criteria

[ ] Ensure new code is unit tested, and check code coverage is at least 90%.
[ ] Create related issue in taipy-doc for documentation and Release Notes.

Code of Conduct

[X] I have checked the existing issues.
[ ] I am willing to work on this issue (optional)

Hi @FlorianJacta I'm interested to contribute to this issue ? Could you please assign me ?

This is not yet open for contribution. You can look into our other issues for the moment. We will let you know when this issue is open for contribution!

Fixed in 4.0.1.dev1
:tada:


Document popularity transfers

Docs Build status updates of commit ed2282e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/nuget-org/Deprecate-packages.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
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.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 8d4d3ec:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/nuget-org/Deprecate-packages.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
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.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit e22877f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/nuget-org/Deprecate-packages.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
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.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 3e4b8a8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/nuget-org/Deprecate-packages.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
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.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 71bfb2b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/nuget-org/Deprecate-packages.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
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.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 6436087:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/nuget-org/Deprecate-packages.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
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.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 6878bb7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/nuget-org/Deprecate-packages.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
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.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 22d0b8b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/nuget-org/Deprecate-packages.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
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.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 310a715:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/nuget-org/Deprecate-packages.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
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.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit ec0fd1a:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.
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

Docs Build status updates of commit b6ff4f4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/nuget-org/Deprecate-packages.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
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.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Show summary screen after execution has finished

https://docs.fastlane.tools/getting-started/ios/screenshots/#capture-screenshots-automatically


BLE failed to establish connection (IDFGH-10352)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.0.2
Operating System used.
Windows
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
None
Development Kit.
Custom board
Power Supply used.
External 5V
What is the expected behavior?
Can establish BLE connection normally.
What is the actual behavior?
Failed to establish BLE connection;
Looping into connected/disconnected;
BLE_Failed_To_Establish_Connection.log
sdkconfig.log
Steps to reproduce.

ESP32 is GATT client;
Scanning and connect to GATT server;

Debug Logs.
Attached log in actual behavior field.

More Information.
No response

Cause Analysis:

Error code rsn=0x3e indicates "Connection fail to establish". There are many reasons for this issue, such as peripheral not broadcasting or being too far away, interference in the air causing packet collisions, and so on.

Solution:

Ensure that the peripheral is broadcasting.

The current log is not sufficient to determine the specific cause. Please provide us with some packet capture logs for further analysis.

Anyway, it seems not happen again, closed this issue first.


Allow the WPILib Installer to update AdvantageKit on macOS

Changes in macOS Ventura make it so updating apps from other apps is blocked by default. AdvantageKit is the first app WPILib has installed, and its going to have trouble updating in the next release due to this. The solution is to specify in the AdvantageKit plist that it's allowed to be updated by the WPILib Team ID.
https://developer.apple.com/documentation/bundleresources/information_property_list/nsupdatesecuritypolicy

That fix isn't going to work @jwbonner. We're not marked as an installer, so it needs to be using AllowProcesses

This is using the WPILib team ID. The format for AllowedProcesses appears to be correct now based on the examples in the Apple article.


error

Your requirements could not be resolved to an installable set of packages.
Problem 1
- flugger/laravel-responder[v3.1.0, ..., v3.1.1] require illuminate/contracts 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.* || 5.8.* || ^6.0 || ^7.0 -> found illuminate/contracts[v5.1.1, ..., 5.8.x-dev, v6.0.0, ..., 6.x-dev, v7.0.0, ..., 7.x-dev] but these were not loaded, likely because it conflicts with another require.
- flugger/laravel-responder[v3.1.2, ..., v3.1.3] require league/fractal ^0.17.0 -> found league/fractal[0.17.0] but the package is fixed to 0.19.2 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
- Root composer.json requires flugger/laravel-responder ^3.1 -> satisfiable by flugger/laravel-responder[v3.1.0, v3.1.1, v3.1.2, v3.1.3].
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Getting this as well.


Align CI go version

trying to align the go version used in CI with the one we used for this project - https://github.com/elastic/elastic-agent-autodiscover/blob/main/.go-version

:green_heart: Build Succeeded

Buildkite Build
Commit: fec6f59e6c69c620dacab201a9d2f1af01c0e5ae

History

:broken_heart: Build #222 failed 3e62b698fd72801cb2dab6610818bab259e5cc93

cc @jlind23

:green_heart: Build Succeeded

Buildkite Build
Commit: 7a2e3da7e290de4791828b3003bf0aa205412786

History

:green_heart: Build #223 succeeded fec6f59e6c69c620dacab201a9d2f1af01c0e5ae
:broken_heart: Build #222 failed 3e62b698fd72801cb2dab6610818bab259e5cc93

cc @jlind23


V1.0.0c

I do not f***ing understand how GitHub wants me to approve the pull request. I still got to learn that.


[Cognitive Services] Support Identity, Encryption, UserOwnedStorage

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[x] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[x] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

/azp run automation - sdk

Some CI failed but seems due to server side issue

Can one of the admins verify this patch?

/azp run automation - sdk


Sets does not switch to tab when opening through start menu/taskbar

Description:
When attempting to open an app through the start menu or on the taskbar and the app is open in the Sets, it should switch to that tab. (Not sure if this should be a feature request or not).
Video:
https://user-images.githubusercontent.com/8879244/196975601-89dab704-4f32-4022-b4c5-aef84797af4b.mp4
Version Info:
Edition	Windows 11 Pro Insider Preview
Version	22H2
Installed on	2022-10-19
OS build	25227.1000
Experience	Windows Feature Experience Pack 1000.25227.1000.0

Hmm hard to implement, Will look into how to do this

I would say this is a bug.

The window added in the Sets should not have a visible icon on the taskbar. This would happen to mostly UWP apps.
The current workflow makes it hard to implement tab switching but I will take a look at it.

I will reduce the scope of this issue. The taskbar icon for UWP will be combined with #2. This issue will now be about automatic tab switching, as a feature request since it is harder to implement.


RJ12 Partnumber

Hi!
An easy/quick one: do you have a part number for the RJ12 socket. I can't seem to find the right one.
Thanks!

Hello,
i ordered this one :
https://fr.aliexpress.com/item/4000252589302.html?spm=a2g0o.order_list.order_list_main.165.3fa35e5b7ndciB&gatewayAdapt=glo2fra
:-)

Hello, i ordered this one :

And it fits perfectly.

After a long search I found this one:
https://www.conrad.de/de/p/econ-connect-mjusn66gab-modular-einbaubuchse-mjusn66gab-buchse-einbau-horizontal-pole-6-schwarz-1-st-1311387.html

I ordere mine off Ali. Two different sets. Black and grey ones. The black ones are the hardest to fit on the holes, but they do fit. They grey ones fit perfectly. So I guess as long as the footprint looks like the one on my board design, it should be okay.


ESP32: Enclosure Updates for ESP32 Based Frog

Hey @eaudiffred !
As we discussed in our team call earlier, I have fairly high confidence in the new processor that we would use for the microcontroller based version of the Frog.
Here is the actual part and link to adafruit: Adafruit ESP32-S3 Feather with 4MB Flash 2MB PSRAM - STEMMA QT / Qwiic

Implementation Notes
The power connector is a USB Type connector again shown on the left hand side of the image below. I imagine we would want to orient the board such that the power connector faces down like our previous designs

One thing that is a bit annoying is that USBC Power Adapters tend to be fairly large and not designed for outdoor applications, so I'm wondering if it might be worth designing around a USBC to Barrel Jack to USB C Adapter like this one?
Electrically this would be fine, but physically it will be perhaps mechanically wasteful as that adapter is almost the same length as the whole ESP board haha.
Would love any thoughts or opinions there :)

Thanks @keenanjohnson.  One initial question about the power supply.  Are there any USB-C power supply units that will work?  It looks like it's 3V and I think a max on 150mA.  I can look around for something so that we don't have to use an adapter.  If you know it doesn't exist, just let me know and I'll tie in the adapter.

Just posting this here for reference.

I believe this is a STEP file of the board, but I can't seem to figure out how to download it.  It's my lack of GitHub knowledge I think.
https://github.com/UnexpectedMaker/esp32s3/blob/main/3d models/FeatherS3_P4.step

Got it!  Remembered the Desktop App.  The board is not in the CAD imports folder.

@eaudiffred ! Any standard 5V Usb C Power Supply should work (where did you see the 3V number)? I've confirmed that here :)

@keenanjohnson, ok cool.  That eliminates the need for the adapter, correct?
I misread the data sheet.  I thought it was limited to 3V, but that is incorrect.

There are adapters, but the USBC plug I've read does less well outdoors overtime than a barrel jack, but perhaps that's not really a problem worth solving for the moment until we are sure we have an issue.

I've started to work on the enclosure based on the ESP32 and we will be able to reduce the size significantly.  Here is an initial idea for the model.

Wow this would be excellent if we could take the size down significantly!
Looking at your renderings, I'm a little bit suspect that there is enough room there for the USBC cable. Unfortunately, the power connector on the cable end is usually quite long. We might need to include that in the model to check out if there is enough space?
This thing from a common USBC suply

@keenanjohnson, good point.  I went ahead and make a model for the USBC supply.  It does cause issues.  We may be able to reduce the width of the enclosure by taking out space between the clips (red circles).  Then rotating the whole board to almost vertical and lengthening the base.
I think I can squish the depth a little too.  The width and depth adjustments would make the shroud and head incompatible between versions, but I don't see that as a huge problem right now.  The amount of material and time that can be saved seems to be worth the changes.

Yeah, I wouldn't worry about head capability between versions at the moment.
One thing we could consider is a right-angle USB C adapter? Perhaps this would help us with the cable routing out of the side?
https://www.adafruit.com/product/4432

Yeah, I was thinking about that and weighing pros and cons of one additional part on the BOM.  I'll model that up too and see what configuration seems to save the most material.

I was able to shrink the depth and width a decent amount.  We are able to save quite a bit of material by using this smaller board.

@muditprotect3d, now would be a great time to introduce any ideas regarding the hanging mechanisms!  While we are remodeling for the ESP32 we will have lots of opportunity to prototype.  Also, any ideas concerning the enclosure in general is more than welcome!

@eaudiffred sounds good! I will add some to the thread right now

This is another one, basically similar to the last one except would span the entire width of the back of the enclosure

This one would be a variable one where you could slide the two ends across the channel to fit across any component of varying length

I created it on the shroud but the ideal location would be on the back of the enclosure

These are more simple hooks, but im working on a design right now to make the bottom hook slideable through a channel

Im working on another design this week, and I had some ideas about the enclosure as well I can send in here by end of week

@muditprotect3d Awesome work!  Thanks for sharing.  I realize we should document this design work in a separate GitHub issue just to keep projects organized.  I'll open a GitHub issue for Hanging Mechanism Designs, and we can keep developing these ideas in there.  I'll tag you and reference the posts above.  Then we can use this issue for enclosure design related to the ESP32 change.

Reading this thread again, have we considered/thought about using the space tradeoff to include an external battery instead of a power cable? ( Instead of reducing the size of the enclosure, we could use the extra space due to a smaller processor to include an external battery/power source)?

Great question @muditprotect3d! In the future once we create a solar powered version of the frog, we will need a battery, but right now even with the microcontroller, we will need to have an external power source to power things. The power management for a battery system is a bit complex and I think needs to be designed first before we could scope modifying an enclosure around that.

I have some prototypes printed and was able to test fit with the main electrical components.
CAD files can be found here.
Here are some pictures comparing V3 and V4:

Here are some pictures showing the electrical component fit.

The biggest problem remaining is figuring out the clip design for the ESP32 board.  I still have not gotten a reliable design that has enough flex for repeated use.  I keep snapping the clips when inserting the board on the 1st or second try.  Let me know if anyone has ideas!  The goal here is just to reduce the amount of hardware (screws in this case) needed for the sensor.

Excellent work @eaudiffred ! Were you able to try plugging in the USB C cable while it's in the enclosure? I'm wondering if there will be any problems with the weight of the hanging cable tilting the hanging sensor and allowing more water into the shields at a high angle as the sensor is getting so small and light now.
Perhaps @muditprotect3d might have some suggestions on the mechanical side for the clips?

@keenanjohnson, excellent point on the cable weight.  I just hung the sensor and plugged it in.  It did tilt slightly.  Enough that its worth moving the power cable entry point.

I went with a slightly different approach and flipped the ESP32.

@keenanjohnson @eaudiffred could we do something with sliding it in and having it be an interference fit? This way the plastic material could hold the circuit in place similar to how the screw holes work? It would essentially be like a sliding compartment that we put the controller into to keep it from moving around, but wouldn't require any clips to flex back and forth

@muditprotect3d, Yes that's a great idea!  I think that will actually keep the board more secure and be easier to print.

@eaudiffred Awesome! Would it be useful if I tried to make some CAD models of what I'm thinking here?
I'm also working on the hanging mechanism incorporated into the larger device. I have two tests this week so am a little swamped but will get that done by midweek!

@muditprotect3d, yeah that would be great!  Here is the most recent model I have been working on.
No rush, get those tests out of the way before worrying about this.  Let me know if you run into any blockers or need help on anything.  Good luck on the tests!

putting this here but here is a mockup of the sliding rails for the feather I was talking about

Just copying this comment here (from Discord) for reference.
One thing to keep in mind is that the board will need to slide into place, correct?  So there needs to be enough space in the enclosure to drop the board down, and then slide it over.  Hopefully my thinking makes sense.  Let me know if I need to explain via picture.

Great work collaborating all! Is it worth it creating a separate issue for this sliding feature or are you all ok collaborating here in this issue?

@keenanjohnson I think we can finish up the sliding feature in this issue and then call it complete.  @muditprotect3d could you share the link to the file you've been editing?

Yes sending now!

https://cad.onshape.com/documents/3d928932fd41fdc8e9fbaac0/w/87262cd35788e1173a2d535a/e/c180c5717ccf65cb0e58b6c0?renderMode=0&uiState=637f02b3c69bdb43ca62accc

I'll make the edits you had suggested by the end of the week and have a final CAD prototype ready to print by EOW. Sorry about the delay on my end with this.

@muditprotect3d Looks good!  I copied your work over to the main file and added some fillets and chamfers.  I'll try and get a test print out this week as well.

Awesome! I think the tolerancing may have to be increased but it will be good to get some prints out and see

Yes let me know if you have anything that is ready for a test print as well.

@muditprotect3d I printed the file you sent in Discord and in general, I think it looks great, though there are some issues to sort out. Thanks for your hard work and @eaudiffred for supporting as always!
Board Doesn't Fit in Slot
The biggest issue is that the board is too wide to fit in the slots as provided. The 3D model of the board in Onshape must be wrong or the tolerances are too tight.
Additionally I noticed there isn't too much space to wiggle the board down in line with the slot, even if the slot was the correct width. Perhaps the whole enclosure would need to be wider?

Cable Bend Radius
I'm pretty worried about bending the USB cable 180 degrees like this. The cables are generally pretty stiff and I noticed it really puts a lot of tensions on the connector in the USB housing. I'm wondering if it makes more sense to go back to the esp 32 being vertically mounted? If not, we may need a feature to provide strain relief for the cable so it is not transferred to the connector on the board which is not very strong I think.

Board Dimensions
I've include the measurements I took of my board for validation of the dinesnsions from Adafruit's drawings.

Great feedback @keenanjohnson, thanks!  I also printed one last night, but I tweaked the dimensions ahead of time.  I was able to get the board to slide in, but it was still a little too tight.  I think 22.7mm, the exact width of the board will work well.

I also think that the slides can be shorter.  Something like this will provide enough support.  The slides are 20mm long in this picture.

@muditprotect3d great work on the design!  I like how this functions and secures the board.

@keenanjohnson, I'm wondering if we should add the 90deg adapter.  I hate to add another piece to the BOM, but I like how much time and material we've been able to save.
I'm thinking of two other options right now (the 90deg spacer being a 3rd option):

Hey @eaudiffred @keenanjohnson thank you for the feedback! I didn't have a feather with me when making the slots so I was using the measurements on onshape and kind of figured they would be off a little but this is super helpful feedback! @eaudiffred are the edits you mentioned on the main file? I can go ahead and get another test print as well with the 20mm slots

Great feedback @keenanjohnson, thanks! I also printed one last night, but I tweaked the dimensions ahead of time. I was able to get the board to slide in, but it was still a little too tight. I think 22.7mm, the exact width of the board will work well.

we can increase tolerance in the slide then if it was too tight fitting in?

@muditprotect3d, Yes.  I put the edits in the main file.

@eaudiffred sounds good! Sorry about the dimensioning issues there. I'll also get a test print going for today

@muditprotect3d, no worries!  That's why we test print!  Definitely an iterative process.

I think that could greatly reduce the strain in the wire -- if we want to make it slightly simple in terms of design we could make it tolerances clips against the side of the wall that the wire can be pushed into?

@eaudiffred in terms of the modular hooks I was thinking of something like this essentially with a similar hook mechanism as the shroud and then have different types of hooks available for the user to print? Not sure if that's what you had in mind but we can talk more during our meeting tomorrow as well!

Do you have any bandwith to take a shot at design of those strain relief clips @muditprotect3d and I could do a test print and assembly?
As for the hanging hooks, not to be annoying, but let's try to keep that discussion separate in #171

@keenanjohnson sorry about that! I have a midterm tomorrow but I can take a shot at those clips right after that if that works?

@keenanjohnson I think @eaudiffred was doing some work on changing the enclosure design for this issue here as well: https://cad.onshape.com/documents/b3e6eeabf50d585d20f25fc6/w/da7f4373da69947f3d05d9c4/e/634db96a0c5d4c7b0ff00c45

I have a test print in process right now for this enclosure structure

@keenanjohnson, @muditprotect3d, I've been messing around with the base this morning trying different shapes.  I have some time to build in the strain relief.  I can get it done in the next few hours and have it ready for a test print.  I'll report back when done.

@eaudiffred sounds good! Let me know if there is anything I can help with

What do you think of this?

There is a hole in the rounded piece for a ziptie.

That looks great! Do you think it would be worth to include a clip on the wall for the wire here or will this be sufficient for the strain issues

Something like this with another ziptie?

The only concern I have is the print quality.  I usually have trouble with small things that over hang.

@eaudiffred that's a good point this would probably end up printing supports under it, not sure if that's worth the pain in such a small enclosed area I agree.

Are we giving up on being able to stack a GSM modem wing on top of the feather?

It is a good point that routing the cable over the top of the circuit board would make it challenging to stack a cellular feather module on top. Have you identified what the ideal feather module is yet @damz or does that still need an evaluation?
Until we do a test print we still don't know if the strain relief strategy will work (I'll complete this later today hopefully), so we're not totally committed to that direction yet. However, if we haven't finished a good selection for cellular modules, I wouldn't want to hold up the first release here waiting for the cellular parts release quite yet.
We can always revise the enclosure for a cellular module later if needed.

I just started a test print on this file.
Base - ESP32_V2 (3).zip
I think we can route the cable back over itself to avoid the area above the board.  I'll see what I can make work with this print.

Have you identified what the ideal feather module is yet @damz or does that still need an evaluation?

I am currently evaluating the qTop Adafruit Feather Compatible LTE Cat-M1/NB-IOT/EGPRS GNSS BG96 shield. It would sit on top of the feather.

Not great results with the test print.  There isn't enough space to slide the power port into the board.  The cable flexes and fits, but I can't figure out a way to plug it in...

I'm back to this option.  The red rectangles are supports for the adapter.

I printed the latest version and everything looks very good to me!

My only two points of feedback:

Two screws seems adequate for holding the esp32, however it was a bit tricky aligning it initially. Perhaps the other two non screw posts could have small bumps that stick up into the two holes on the board to help initially aligned it?
I noticed the connector wobbles a bit when plugging in, not too concerning l, but perhaps in the future something could be added to prevent that.

https://user-images.githubusercontent.com/2559382/206041760-e2a2fb6a-5ac0-4d48-be69-0911ffd4b4b0.MOyV

@eaudiffred should we "release" this version of the enclosure and make additional changes as we go? I can create separate issues for the things above if so.
Do you need help tagging the latest version of the onshape assembly and everything or do you have that covered?

@keenanjohnson do you think we could include the hooks in this release as well?

I think they are ready after a couple of iterations -- but I can also make more edits if needed by the EOW

@keenanjohnson, good points.  I added the bumps for alignment.
I did include a hole in the pad under the 90deg adapter that can fit a ziptie to secure down the adapter.  I have not tested that out yet.  Did it print out ok?  Would a ziptie apply too much downward pressure on the adapter?

Another option to stiffen the adapter would be to add in some kind of blocking around the adapter:

@keenanjohnson, Yes, I think its ready to be released!  If we make any changes going forward they will be minor.

@muditprotect3d, yes.  Let's include these hooks in the release.  The can be added to the build instructions as options for hanging in different situations.

Do you need help tagging the latest version of the onshape assembly and everything or do you have that covered?

@keenanjohnson, what do you mean by tagging the latest version of the Onshape assembly?

Oh I just meant identifying which assembly and branch was the most up to date

@keenanjohnson, gotcha!  Yes, it's this one.  Do you remember how to merge it back as the main?
https://cad.onshape.com/documents/b3e6eeabf50d585d20f25fc6/w/da7f4373da69947f3d05d9c4/e/c221edb50cd05a98d22970e2

Yup! I can do that tomorrow :)

Ok @eaudiffred I've merged that branch into the main branch.

@keenanjohnson @muditprotect3d, I would vote that we close this issue and release V4.  I made one small change to the Head clips this morning, so I can create a PR to get the file changed in the parts file on GitHub.

@eaudiffred I agree! I think we are ready to release the v4

I know in discord there was some discussion on some very minor revisions for the head clips based on printing results. Do we need to add that here and commit new STLs before an official release?

@keenanjohnson, yes.  I'll get the revision printed tonight and make sure it fits tomorrow morning. Then I can submit the PR to update the file tomorrow.

Added some posts that secure the USBC Adapter in place and eliminate the need for a ziptie.  It fits the adapter I used pretty well right now.
@keenanjohnson, do you have time to print a test to see if it works out?  My only concern is that different adapters might be shaped slightly differently, in which case it would be important to always purchase a specific one.

BaseV4-Test.zip

Are we concerned about water/snow ingress? Outdoor enclosures usually use Cable Glands to prevent that, like this enclosure. It also has the benefit of allowing you to use a standard cable and pass it through. I found many 3d-printable cable gland on Thingiverse that may be able to incorporate into the design.

@eaudiffred mu test print finished and it feels vastly more secure than without the supports and no zip tie.  The posts take the force of plugging and unplugging nicely which no longer leaves me concerned about breaking the connector on the board.


name needs to be the same as the source when using bigip-fast-template resource

Environment
TMOS/Bigip Version: <IP_ADDRESS>
Terraform Version: 0.14.11
Terraform bigip provider Version: 1.11

Summary
FAST documentation shows two options of packaging the .mst template file before being able to upload to BIG-IP.
Steps To Reproduce
Steps to reproduce the behavior:
create a zip file from an .mst file by using 'zip'
assign the .zip file as your source file in bigip-fast-template resource.
terraform apply to install the .zip file into BIG-IP to become your FAST template.

Expected Behavior
The template should get installed, but instead Terraform throws you an error.
Actual Behavior
NET-ML-00011666:Testing wolfis$ terraform apply --auto-approve
bigip_as3.log: Refreshing state... [id=Common]
bigip_fast_template.tenant: Creating...
Error: error in creating FAST template set (appA): HTTP 400 :: {"code":400,"message":"Template set (appA) failed validation: template set contains no templates. Error: template set contains no templates\n at /var/config/rest/iapps/f5-appsvcs-templates/nodejs/fastWorker.js:2047:33\n at /var/config/rest/iapps/f5-appsvcs-templates/node_modules/core-js/modules/es.promise.js:118:22\n at flush (/var/config/rest/iapps/f5-appsvcs-templates/node_modules/core-js/internals/microtask.js:27:9)\n at tryCatcher (/usr/share/rest/node/node_modules/bluebird/js/release/util.js:16:23)\n at Promise._settlePromiseFromHandler (/usr/share/rest/node/node_modules/bluebird/js/release/promise.js:512:31)\n at Promise._settlePromise (/usr/share/rest/node/node_modules/bluebird/js/release/promise.js:569:18)\n at Promise._settlePromiseCtx (/usr/share/rest/node/node_modules/bluebird/js/release/promise.js:606:10)\n at Async._drainQueue (/usr/share/rest/node/node_modules/bluebird/js/release/async.js:138:12)\n at Async._drainQueues (/usr/share/rest/node/node_modules/bluebird/js/release/async.js:143:10)\n at Immediate.Async.drainQueues (/usr/share/rest/node/node_modules/bluebird/js/release/async.js:17:14)\n at runCallback (timers.js:794:20)\n at tryOnImmediate (timers.js:752:5)\n at processImmediate [as _immediateCallback] (timers.js:729:5)"}
on main.tf line 29, in resource "bigip_fast_template" "tenant":
29: resource "bigip_fast_template" "tenant" {

This issue was researched by PD because initially it was expected to be a Terraform provider issue. Tests have shown that using .zip and packageTemplateSet and try to upload the package manually also does not work.

Thanks for reporting this issue and for providing this background information. We are now tracking this bug internally with ID, MYSTIQUE-513.

Templateset files must be at the root level within the zip file. In order to avoid the issue of not traversing directories, no matter how deep, the -j switch must be used on the zip command.
We plan to provide additional documentation around this and are now tracking that work with internal ID MYSTIQUE-519.

Closing. This issue was resolved with Release 1.15.0.


occupancy versus AoO on indicator graphs

Hi, just a detail for the occurrence indicator graphs Y-axis legend: Occupancy, in principle, is mostly used for the probability that a site is occupied (and expressed between 0 and 1) cf. site occupancy models. What we look at in TrIAS is Area of Occupancy the way IUCN use it to quantify range size for species. This is an interesting paper about the concept.
@damianooldoni we should probably change the legend for the Y axis to "Area of Occupancy (km2)" to avoid confusion.

Yes, @timadriaens. I agree. I will solve it after making new cubes and so having new data.

I thought we just look at the occupancy in any one year. Normally, survey intensity is not great enough to get the true 1km area of occupancy after just one year. The IUCN usually aggregates over a number of years, but we can't do that.


Could not find gruveo-sdk-android-0.7.8

The project is working fine and suddenly this error occurs. (Maybe It could happen due to Jcenter shutdown)
Could not determine the dependencies of task ':app:compileDebugKotlin'.
Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Could not find gruveo-sdk-android-0.7.8.aar (org.bitbucket.gruveo:gruveo-sdk-android:0.7.8).
Searched in the following locations:
https://jitpack.io/org/bitbucket/gruveo/gruveo-sdk-android/0.7.8/gruveo-sdk-android-0.7.8.aar

issue resolved after upgrading SDK 0.8.2:
org.bitbucket.gruveo:gruveo-sdk-android:0.8.2


click: higher version should be required for pip install

got the following error after pip install fmriprep-group-report in a virtualenv with other packages installed.
Traceback (most recent call last):
  File "/lustre03/project/6003287/bpinsard/.virtualenvs/neuromod_data/bin/fmriprepgr", line 8, in <module>
    sys.exit(make_report())
  File "/lustre03/project/6003287/bpinsard/.virtualenvs/neuromod_data/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/lustre03/project/6003287/bpinsard/.virtualenvs/neuromod_data/lib/python3.8/site-packages/click/core.py", line 781, in main
    with self.make_context(prog_name, args, **extra) as ctx:
  File "/lustre03/project/6003287/bpinsard/.virtualenvs/neuromod_data/lib/python3.8/site-packages/click/core.py", line 700, in make_context
    self.parse_args(ctx, args)
  File "/lustre03/project/6003287/bpinsard/.virtualenvs/neuromod_data/lib/python3.8/site-packages/click/core.py", line 1048, in parse_args
    value, args = param.handle_parse_result(ctx, opts, args)
  File "/lustre03/project/6003287/bpinsard/.virtualenvs/neuromod_data/lib/python3.8/site-packages/click/core.py", line 1623, in handle_parse_result
    value = self.full_process_value(ctx, value)
  File "/lustre03/project/6003287/bpinsard/.virtualenvs/neuromod_data/lib/python3.8/site-packages/click/core.py", line 1965, in full_process_value
    return Parameter.full_process_value(self, ctx, value)
  File "/lustre03/project/6003287/bpinsard/.virtualenvs/neuromod_data/lib/python3.8/site-packages/click/core.py", line 1589, in full_process_value
    value = self.process_value(ctx, value)
  File "/lustre03/project/6003287/bpinsard/.virtualenvs/neuromod_data/lib/python3.8/site-packages/click/core.py", line 1579, in process_value
    return self.type_cast_value(ctx, value)
  File "/lustre03/project/6003287/bpinsard/.virtualenvs/neuromod_data/lib/python3.8/site-packages/click/core.py", line 1554, in type_cast_value
    raise TypeError(
TypeError: Attempted to invoke composite type but nargs has been set to 0. This is not supported; nargs needs to be set to a fixed value > 1.

Turns out the requirements didn't upgrade the already installed click packages (7.1.2)
pip install --upgrade click seems to have fixed the error by getting click-8.1.3.

Thanks! This should be fixed now.


Race condition when using LogWriter

After #145 was merged there now exists a race condition when setting up a LogWriter
In captureFifoToFile  this goroutine
	go func() {
		defer func() {
			if err := fifoPipe.Close(); err != nil {
				logger.Warnf("Failed to close fifo pipe: %v", err)
			}

			if err := syscall.Unlink(fifoPath); err != nil {
				logger.Warnf("Failed to unlink %s: %v", fifoPath, err)
			}
		}()

		if _, err := io.Copy(w, fifoPipe); err != nil {
			logger.Warnf("io.Copy failed to copy contents of fifo pipe: %v", err)
		}
	}()

will not block on io.Copy, I think this is due to opening with syscall.O_NONBLOCK unsure though. This causes the defer to trigger and syscall.Unlink to remove the originally configured log.fifo.  When using jailer if this happens before the LinkFilesHandler handler executes you can get a missing file error when trying to hardlink the log.fifo shown here.
If not using jailer I think that io.Copy could just exit and BootstrapLoggingHandler could have an error if it sent it's logging setup request after the syscall.Unlink occurs.

Hey @cpheps, thank you for bringing this to our attention. Out of curiosity what is the error that is being returned from the io.Copy?

That's the weird thing, there is no error. I'm guessing because io.Copy exits on an EOF with the syscall.O_NONBLOCK we are getting an early EOF with no writer to the fifo. Unsure on this just speculating.

Oh? That’s interesting.
What happens when you run your application?
What is the error?
Can you copy and paste the output here?

Yeah the error is
machine link /home/cphelps/jailer/log.fifo /home/cphelps/jailer/firecracker/662/root/log.fifo: no such file or directory that comes out of the  LinkFilesHandler inside jailer.go.

Thank you @cpheps for the information. I will go ahead and write a small test to test the behavior of nonblock and copy. Once I have more information from the test and running the jailer manually, Ill take a look at what options we have!

@cpheps - I am having trouble reproducing this. Here is my example
package main

import (
	"context"
	"os"

	"github.com/firecracker-microvm/firecracker-go-sdk"
	"github.com/firecracker-microvm/firecracker-go-sdk/client/models"
)

func main() {
	f, err := os.OpenFile("/tmp/writer.fifo", os.O_CREATE|os.O_RDWR, 0666)
	if err != nil {
		panic(err)
	}
	defer f.Close()

	cfg := firecracker.Config{
		SocketPath:      "./api.socket",
		LogFifo:         "/tmp/log.fifo",
		LogLevel:        "Debug",
		MetricsFifo:     "/tmp/metrics.fifo",
		KernelImagePath: "hello-vmlinux.bin",
		Drives:          firecracker.NewDrivesBuilder("hello-rootfs.ext4").Build(),
		FifoLogWriter:   f,
		KernelArgs:      "console=ttyS0 reboot=k panic=1 pci=off",
		JailerCfg:       &firecracker.JailerConfig{},
	}
	cfg.MachineCfg = models.MachineConfiguration{}
	cfg.MachineCfg.VcpuCount = firecracker.Int64(1)
	cfg.MachineCfg.MemSizeMib = firecracker.Int64(512)
	cfg.MachineCfg.HtEnabled = firecracker.Bool(false)
	cfg.JailerCfg.UID = firecracker.Int(123)
	cfg.JailerCfg.GID = firecracker.Int(123)
	cfg.JailerCfg.NumaNode = firecracker.Int(0)
	cfg.JailerCfg.ID = "test"
	cfg.JailerCfg.ChrootBaseDir = "/tmp/test"
	cfg.JailerCfg.ExecFile = "/usr/local/bin/firecracker"
	cfg.JailerCfg.ChrootStrategy = firecracker.NewNaiveChrootStrategy("/tmp/test/firecracker/test", "hello-vmlinux.bin")
	cfg.JailerCfg.Stdin = os.Stdin
	cfg.JailerCfg.Stdout = os.Stdout
	cfg.JailerCfg.Stderr = os.Stderr

	m, err := firecracker.NewMachine(context.Background(), cfg)
	if err != nil {
		panic(err)
	}

	if err := m.Start(context.Background()); err != nil {
		panic(err)
	}

	if err := m.Wait(context.Background()); err != nil {
		panic(err)
	}
}

Can you run that example and see if that returns the same error? If it does not, can you paste some of your code to see if I can reproduce it on my end?
Also, what Go version are you using? Just so I am using the same version as you.

I'll try it out now. Using go1.12.5 on linux/amd64

@xibz I tried it and did not see the error, though I did notice nothing was ever written to the writer.fifo.  I was able to reproduce it though by vendoring the dependencies and adding a time.Sleep(1 * time.Second) right here. A sleep should be fine if io.Copy is blocking then no weird behavior should be expected.

Yea, I saw what you're talking about with the captured logs not being present. I think the fix here would to be retries on io.Copy until an error has occurred.

Hey @cpheps, we just merged in a fix that should alleviate the problem you are having! Thank you again for bringing this to our attention. If you have any other questions or concerns please feel free to reach out!


Change Styling for responseProperties

This PR adds some style tweaks for the CLI Output.
New look:

I like it, thank you very much!


Roll engine dd65a8884ee6..1fa483d779f5 (1 commits)

https://github.com/flutter/engine/compare/dd65a8884ee6...1fa483d779f5
git log dd65a8884ee6c35313f2cafd6641e7fe4b127431..1fa483d779f5cf5db890b209cd8a0e902068006f --no-merges --oneline
1fa483d77 Roll src/third_party/skia 32c32b9a6caa..b3c0bf642613 (14 commits) (flutter/engine#8980)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop
the roller if necessary.

Auto-roller completed checks. About to merge.


How to get captured image path instead of base 64 string?

Is there a way we can get a captured image path from the results?
    _docImage = Image.memory(Uri.parse("data:image/png;base64," +
            results
                .getGraphicFieldImageByType(
                    eGraphicFieldType.GF_DOCUMENT_IMAGE)
                .replaceAll('\n', ''))
        .data
        .contentAsBytes());

We need an image path.

Hello,
We don't store any data on devices.


Do you plan on adding support for Plus Domains?

Thanks for the good work. Very useful. I would be interested in assisting and adding Plus Domains capabilities such posting and and other circle management tasks.  Thoughts?

I know this is not completely on topic but since you discussed here wrapping the Google API library I decided to continue here. The Spring Social documentation itself suggests integrating API bindings if they exist instead of writing new bindings: http://docs.spring.io/spring-social/docs/1.1.4.RELEASE/reference/htmlsingle/#integrating-an-existing-java-api-binding
So basically my question is, where is the advantage in providing another binding?


Hard-coding dev recipes, refactoring its logic, and adding a functional test

Description

Hard-coding dev recipes (different than what we did in the previous release here: https://github.com/radius-project/radius/commit/5ae00206a27739c5545efc397d985c219cde3336)
Doing some refactoring in rad init like moving the Environment Creation logic to the environment.go.
Adding a functional test (a test just calls the CreateEnvironment to make sure that the environment is created with all the dev recipes @rynowak)

Type of change

This pull request fixes a bug in Radius and has an approved issue (issue link required).
Fixes: #6506

Auto-generated summary

🤖 Generated by Copilot at b089e99
Summary
🆙🧪🛠

This pull request updates the radinit package and its tests to use the latest dependencies, logging, and naming conventions for dev recipes and extenders. It also improves the compatibility with OCI standards and artifacts.

Oh we're the radinit crew and we've got work to do
We'll update our go.mod and our test cases too
We'll use the ucplog and the OCI way
And we'll heave away, me hearties, heave away

Walkthrough

Update dependency versions of image-spec, sync, and oras-go libraries in go.mod (link, link, link)
Rename and modify functions to use normalized and actual resource types instead of portable resource types in pkg/cli/cmd/radinit/recipe.go (link, link, link, link)
Add support for the new resource type for extenders in pkg/cli/cmd/radinit/recipe.go (link)
Change the repository path for the dev recipes to use the recipes/local-dev/ subdirectory in pkg/cli/cmd/radinit/recipe.go (link, link)
Improve the performance and reliability of the dev recipe client by using the ucplog package and iterating over the dev recipes in pkg/cli/cmd/radinit/recipe.go (link, link)
Remove unused and unnecessary functions and imports in pkg/cli/cmd/radinit/recipe.go and pkg/cli/cmd/radinit/recipe_test.go (link, link, link)
Update and add test cases to match the renamed and modified functions and the new repository path for the dev recipes in pkg/cli/cmd/radinit/recipe_test.go (link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link)

Were you going to add a functional tests as part of this PR? maybe something that calls the environment creation code from rad init?

Were you going to add a functional tests as part of this PR? maybe something that calls the environment creation code from rad init?

Yes, I will add the functional test tomorrow morning and finalize the PR @rynowak.

/ok-to-test

/ok-to-test


ctrl+c handling in core/commandline

Description
Simply Integrated grepitle code after working a few hours on testing it without success - more details in comments

Fixes #2779

Summary by CodeRabbit

New Features

Enhanced signal handling for better interruption management during command execution.

I've tried to test what greptile wrote using multiple test :

by making my own client, running the shell, making the shell sleep, and trying to cancel the sleep command via manual ctrl+c or directly threw SIGINT in the test code, without success. I thought maybe it was my shell, but running the same tests without using the generated shell, it worked so the issue comes from the generated shell.
I also tried to send the signals directly from a main into the generated shell and running it manually it fails aswell to send the signal to the spawned shell.

I hope my failures can help you @golangisfun123


Update docs to include performance.now() = Date.now()

Which Cloudflare product does this pertain to?
Workers
Existing documentation URL(s)
https://developers.cloudflare.com/workers/runtime-apis/performance/
What changes are you suggesting?
The current documentation implies that performance.now() follows the MDN spec, which should return a DOMHighResTimeStamp with microsecond precision.  However, this isn't the case with workerd.  As commented in the codebase, it has been neuter to only return the same value as Date.now().
While this change is understandable in production, it makes it hard to do performance testing locally.  Ideally, we would have access to microsecond precision locally somehow (particulary since CPU time is limited to only 10ms per request for free accounts).  Nonetheless, the change should at least be documented.
To be clear, this is unrelated to the timers incrementing (or not incrementing) based on I/O, which is well documented (thank you!).
Additional information
For context, my use case is something like the code below.  I have a loop that takes ~14ms to run thru thousands of times.  The code in the loop is quick, but starts to add up after being run so many times.
// meaningless functions to simplify the example
let doSomething1 = ()=>{'Hello world'};
let doSomething2 = ()=>{1+1};
let doSomething3 = ()=>{Math.random()};

let test1 = [], test2 = [], test3 = [];
let start = performance.now();

//manyRows is something like an Array(10000);
for(const row of manyRows) {

    let test1Start = performance.now();
    doSomething1(row);
    test1.push(performance.now() - test1Start);

    let test2Start = performance.now();
    doSomething2(row);
    test2.push(performance.now() - test2Start);

    let test3Start = performance.now();
    doSomething3(row);
    test3.push(performance.now() - test3Start);

}

console.log({
    total: performance.now() - start,
    test1: test1.reduce((a,b) => a+b, 0),
    test2: test2.reduce((a,b) => a+b, 0),
    test3: test3.reduce((a,b) => a+b, 0)
});

// OUTPUT: { "total": 14, "test1": 0, "test2": 1, "test3": 1 }

Since the doSomethingN calls are typically <1ms each, the timers round to 0 almost every time, meaning the fractional milliseconds cannot be added up over time.
If I run the same code directly in a desktop browser, I get much more detailed data which shows me where the slow code is:
OUTPUT: { "total": 16.599999964237213, "test1": 3.4999999403953552, "test2": 1.399999976158142, "test3": 8.20000010728836 }

I think this has been updated since the issue has been closed. The docs have been updated since then.
Closing this as resolved but if edits could improve the docs, please feel free to submit a docs recommendation.


Build error while building contrib/bigtable

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04
TensorFlow installed from (source or binary): source
TensorFlow version: r1.12 and master (7561099fb65c18bd091751b60fc45550fc5d4805)
Python version: 3.6.7
Installed using virtualenv? pip? conda?: pyenv
Bazel version (if compiling from source): 0.19.1
GCC/Compiler version (if compiling from source): gcc-6 (Ubuntu 6.4.0-17ubuntu1) 6.4.0 20180424
CUDA/cuDNN version: 10.0 / 7.4
GPU model and memory: GTX 1080ti

Describe the problem
Error message: ERROR: /home/jxstanford/src/tensorflow/tensorflow/contrib/bigtable/BUILD:53:1: Linking of rule '//tensorflow/contrib/bigtable:p
ython/ops/_bigtable.so' failed (Exit 1) gcc-6 failed: error executing command /usr/bin/gcc-6 -shared -o bazel-out/k8-opt/bin/tensorflow/contri
b/bigtable/python/ops/_bigtable.so ... (remaining 64 argument(s) skipped)
Provide the exact sequence of commands / steps that you executed before running into the problem
git checkout r1.12
bazel test -c opt -- //tensorflow/... -//tensorflow/compiler/... -//tensorflow/contrib/lite/...
Any other info / logs
Build output attached.
(https://github.com/tensorflow/tensorflow/files/2577363/TF_BUILD_OUTPUT.txt)

Try as per the warning message, add following line to .bazelrc file:
import /home/jxstanford/src/tensorflow/tools/bazel.rc

your suggestion resulted in a viable test run, but I still had problems later in the build process.
downgrading bazel to 18.1 resolved the problem.

Thanks for sharing your workaround.


Make sure query params are copied over to omniauth.params in test mode.

This patch addresses issue #474 (https://github.com/intridea/omniauth/issues/474)
Our patch fixes the issue, but we had some trouble grokking the specs. We had trouble particularly around understanding the callback phase testing strategy. Please take a look and let us know what pattern you'd like to use and we'll update.

Daniela & Kevin, Pivotal

Can you take a look at making a new pull request against 1.0 master that fixes the same issue? Thanks!


Name Constraints and Variables

What language and solver does this apply to?
C++,  Linear Solver, sirius, xpress
Describe the problem you are trying to solve.
Hello, as part of Antares Simulator and Antares Xpansion features, we have introduced the possibility of naming variables and constraints. This can make it easier to work with mps files.
Describe the solution you'd like
see attached patch
name-constraints-variables-xpress-sirius.patch

diff with (tag: v9.5-rte2.0)


events/eventSources is not updating

I have tried every solution I have found, including rerenderEvents, refetchEvents, etc. I even spliced the array to empty it and then pushed each event back on the array to no success. Here is my code for updating eventSources (shortCalendar is the source array that is updated via factory):
  $scope.$watch(function () { return Events.shortCalendar }, function (newVal, oldVal) {
    if (typeof newVal !== 'undefined') {
        $scope.eventsSource.splice(0, $scope.eventsSource.length);
        for(var i = 0; i < Events.shortCalendar.length; i++)
        {
          $scope.eventsSource.push(Events.shortCalendar[i]);
          console.log('add 1');
        }
    }
});

  $scope.update = function() {
        uiCalendarConfig.calendars['calendar'].fullCalendar('rerenderEvents');
        uiCalendarConfig.calendars['calendar'].fullCalendar('render');
  };

Thanks so much for any help, really appreciated.

Same here, I've been trying out as well. Also tried out rerenderEvents and refetchEvents, in my case event they are rendered twice (the events on the day are duplicated)

Same here @mattoliver

Try to identify the problem by using ng-inspector -tool for Firefox / Chrome or Batarang 0.4.3 for Chrome.
I just took a quick look at my calendar, and it seems that eventSources are saved to 2 different scopes. Try to identify which scope you are splicing and look if both eventsources have changed.
If not, there lies the problem. EventSources needs to be changed for both scopes.

hey @Sefriol , thanks for your help with this! I checked and both the $scope as well as the uiCalendar object both have the updated eventSources object, but are still not updating on the calendar itself. Here is what the object looks like:
[Object]
     0: Object
            __id: 1
            allDay: true
            color: "#9DED6C"
            editable: false
            end: Mon May 25 2015 06:00:00 GMT-0700 (Pacific Daylight Time)
            id: 104
            start: Mon May 25 2015 06:00:00 GMT-0700 (Pacific Daylight Time)
            title: "test"
            url: "#/events/104"
            __proto__: Object
            length: 1
            __proto__: Array[0]

I honestly don't know what fixed it for me, unfortunately I was changing a lot at the same time. But here is the code that finally works for me (its pretty ugly since I've been changing/playing with so many different solutions):
angular.module('vendor').controller('CalendarCtrl', ['$scope', '$rootScope', 'Events', 'User', 'loadCalendar', 'uiCalendarConfig', function($scope, $rootScope, Events, User, loadCalendar, uiCalendarConfig)
{

  $rootScope.alerts = [];

  /* config object */
  $scope.uiConfig = {
    calendar:{
      height: "auto",
      editable: true,
      timezone: "local",
      eventLimit: 2,
     // defaultView: "basicWeek",
      header: {
        left: 'month,basicWeek,basicDay',
        center: 'title',
        right: 'prev,next'
      },
      dayClick: $scope.alertEventOnClick,
      eventDrop: $scope.alertOnDrop,
      eventResize: $scope.alertOnResize
    }
  };

$scope.events = [loadCalendar];    //loadCalendar is the calendar array passed in from the resolve function in my router
$scope.eventSources = [$scope.events];

$scope.$watch(function () { return Events.shortCalendar }, function (newVal, oldVal) {
    if (typeof newVal !== 'undefined') {
        $scope.events.splice(0, $scope.events.length);
        for(var i = 0; i < Events.shortCalendar.length; i++)
        {
          $scope.events.push(angular.copy(Events.shortCalendar[i]));
        }
        if(uiCalendarConfig.calendars['calendar'] != undefined)
        {
          uiCalendarConfig.calendars['calendar'].fullCalendar('rerenderEvents');
          console.log('events:');
          console.log($scope.eventSources);
          console.log('shortCalendar:');
          console.log(Events.shortCalendar)
        }
    }
});

}]);

I believe this is a duplicate of #275
Please see my comments there.
Regards

Any updates?

At least some of the problems were fixed when I last time tried to use it with the latest version. I honestly don't have time to for this project atm, but I think it would help others to figure this out, if you tell when this problem occurs and how to replicate it now. @EsteBusta

You're right @Sefriol, i did some manually using to handle this issue (some ng -if and timeout) , it is not the best way , but if i will try to make it better to Contribute !
Greetings !

Hi Guys, I solved this forcing to refresh the calendar directive in this way

in my controller when update the arrays of the calendar I put somthing like this
//before perform operation
vm.refreshCalendar=false;
// code that update the array
// at the end
$timeout(function() { vm.refreshCalendar=true;}, 1);
I get a little flicker due to refreshing the directive but works
I hope this help somebody
regards

Hi! It's been a long time since this issue was opened, any news?
+1

My solution:
uiCalendarConfig.calendars.myCalendar.fullCalendar('removeEvents');
uiCalendarConfig.calendars.myCalendar.fullCalendar('addEventSource', events);
Regards

:+1: Did @jdnichollsc solution,
I guess you could add that the uiCalendarConfig is available through dependency injection:
angular.module('myApplication').module('modWithCalendar').controller('CalendarController', ['uiCalendarConfig', function(uiCalendarConfig){...}]);

+1 for @jdnichollsc solution. Thx!

+1 for @jdnichollsc solution. Thanks a lot.
Finally able to get through it !!

+1 for @jdnichollsc solution.

@jdnichollsc cloud you explain it more clear? I don't know where to add it, thank you

@qidaneix Hey.. To answer your question, I added these two lines in my controller where you are initializing the eventSource. And I did it right after I assigned values to my eventSource Array.
I hope this helps !

@HashtagPurvi Hey. I did it the same way, but it does not work yet. I added them after the eventSource gets data from ajax request, The events added from ajax request would not show  in the calendar when I switch the month(prev and next). Do you know how to solution it? Thank you anyway!

I suggest debugging through the code and see if  your date is coming in right format.
This can sometimes be an issue.
Apart from that sending your code might help everyone to c what the real issue is !

Oh, my problem is more like #99 , but I did find a good solution. Here is my code
    var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();
    $scope.events = [
        {title: 'All Day Event',start: new Date(y, m, 1)},
        {title: 'Long Event',start: new Date(y, m, d - 5),end: new Date(y, m, d - 2)},
        {id: 999,title: 'Repeating Event',start: new Date(y, m, d - 3, 16, 0),allDay: false},
        {id: 999,title: 'Repeating Event',start: new Date(y, m, d + 4, 16, 0),allDay: false},
        {title: 'Birthday Party',start: new Date(y, m, d + 1, 19, 0),end: new Date(y, m, d + 1, 22, 30),allDay: false},
        {title: 'Click for Google',start: new Date(y, m, 28),end: new Date(y, m, 29),url: 'http://google.com/'}
    ];

    /* event sources array*/
    $scope.eventSources = [$scope.events];

    $scope.$on('EventResComplete', function(){      //an ajax request response success
        for(var i=0; i < resEvents.length; i++){  //Events from ajax request has saved in service 'resEvents'
                var event = {};
                event.title = resEvents[i].title;
                event.start = resEvents[i].endTimeObj.toDate();
                console.log(event);
                $scope.events.push(event);
            }
        }

        $scope.eventSources = [$scope.events];
        uiCalendarConfig.calendars['myCalendar'].fullCalendar('removeEvents');
        uiCalendarConfig.calendars['myCalendar'].fullCalendar('addEventSource', $scope.eventSources);
    });

    /* config object */
    $scope.uiConfig = {
        calendar:{
            //height: 450,
            firstDay: 0,
            lang: 'zh-cn',
            editable: true,
            header:{
                //left: 'month basicWeek basicDay agendaWeek agendaDay',
                left: 'title',
                right: 'today prev,next'
            },
            eventClick: $scope.alertOnEventClick,
            eventDrop: $scope.alertOnDrop,
            eventResize: $scope.alertOnResize,
            eventRender: $scope.eventRender
        }
    };

When I get the resEvents at first, it can showed on calendar.  When I switching month, the events from resEvents wouldn't show any more, others are there still. I don't know why it happened

@HashtagPurvi I got it!
Just add
event.stick = true;

for every event.
Thank you anyway!

          $('#my-calendar').fullCalendar('removeEvents')           $('#my-calendar').fullCalendar('addEventSource',$scope.events)
this did it for me,

+1 for @jdnichollsc solution.

I got the same problem. However, I think I might've found the real answer why it's not working.
Using parts qidaneix his code example I'll try and explain:
//Defining:
$scope.events = [
{title: 'All Day Event',start: new Date(y, m, 1)},
{title: 'Long Event',start: new Date(y, m, d - 5),end: new Date(y, m, d - 2)}
];
//And then defining:
$scope.eventSources = [$scope.events];
//With as html:

//Then most of you expect that once you change $scope.events the calendar changes.
//But of course it doesn't! $scope.eventSources is defined once with the initial contents, the contents of this variable stays the same even if you change $scope.events
//When changing
$scope.events[0].title = "test123";
//To make a long story short. What fixed it for me was actually changing $scope.eventSources[0]. That'll trigger a update in full calendar.
//Code example from what I've got running:
$scope._days = [
{title: 'All Day Event',start: new Date()},
{title: 'Long Event',start: new Date(),end: new Date()},
{id: 999,title: 'Repeating Event',start: new Date(),allDay: false}
];
$scope.$watch('days', function(days) {
    var events = [];
    for(var i in days) {
        var day = days[i];
        if(!day.times)
            continue;
        console.log('times', day.times);
        for(var ii in day.times) {
            var time = day.times[ii];
            events.push({
                title: time.description,
                start: new Date(time.started),
                end: new Date(time.ended),
                allDay: false
                // className: []
            });
        }
    }
    safeApply($scope, function() {
        $scope.eventSources[0] = events;
    });
});
$scope.eventSources = [$scope._days];

//I intentionally left $scope._days defined to make it easier to understand what is going on.
The real problem lies with this ridiculous ng-model. Why not just instantly have ng-model="days" instead of this ng-model="eventSources" thing.
Hope it helps.

This is how i do it :
function refreshCalendar(events){
	uiCalendarConfig.calendars.myCalendar.fullCalendar('gotoDate', $scope.aWeekStart);
	uiCalendarConfig.calendars.myCalendar.fullCalendar('removeEvents');
	uiCalendarConfig.calendars.myCalendar.fullCalendar('addEventSource', events);
 }

This is my solution:
$scope.$on('eventChanged', function(event, data) {
	console.log('eventChanged');
	$timeout(function () {
		// Event update
		$scope.events.push({
			title: 'New event',
			start: new Date(y, m, 24)
		});
	}, 1);
});

Hi,
No need to do anything, Just add this line to the "New Event".
stick = true;
Ex;
var event = {
title :  'New event',
start : new Date(2017, 03, 27),
stick : true;
};
I hope, it works.Thanks..

Hi
if you want to update calendar source first you need to remove event then add new eventSource into that calendar
uiCalendarConfig.calendars['calendar'].fullCalendar('removeEvents');// for remove event uiCalendarConfig.calendars['calendar'].fullCalendar('addEventSource', data);//data = new source that you want insert into calendar

yimseknyCorarl solution work for me, btw i'm using Angular2 with full calendar, thx!

Hi,
This works for me
    uiCalendarConfig.calendars.myCalendar.fullCalendar('removeEvents');     uiCalendarConfig.calendars.myCalendar.fullCalendar('addEventSource', vm.events);

VERY IMPORTANT
SchedulesListCtrl.$inject = [..., 'uiCalendarConfig'];
function SchedulesListCtrl(..., uiCalendarConfig) { //your code }
Thanks,
Felipe

I'm glad that my solution has been useful, @mattoliver I think you can close this issue


Fix url_extract_* functions for malformed URL's

Fixes issue : https://github.com/facebookincubator/velox/issues/7038
Malformed URL's which can contain invalid '%' currently throw in Velox and not compliant with Presto, this is fixed.
Secondly another bug is that for absolute URI's url_extract_path will return NULL when it should return the path, for e.g url_extract_path('foo') returns null in velox without this patch.
Finally we also fix the scheme/authority/path regex to be compliant with the URI RFC  (https://www.rfc-editor.org/rfc/rfc3986#appendix-A).

@kgpai Would you update PR description with some examples of before and after to help readers understand the impact of this change?


[dns-client] API and CLI support for DNS queries with arbitrary RRType

Is your feature request related to a problem? Please describe.
Somewhat:

in cert tests (11.x) we like to send DNS queries for exotic RRTypes to be able to test a DNS server.
in the future, some Thread product vendors may need to query the internet DNS for non-standard RRTypes (not A, not AAAA).

e.g. TXT records for internet hostnames contain information about the domain such as unique IDs used for validation purposes. Future Thread devices may need such information.
Or use other RRTypes like MX, SOA, OPENPGP, SIG/KEY etc.

Describe the solution you'd like
It would be nice to have a single API function to perform arbitrary RRType DNS queries by a client. This single API can be used for both production use and cert testing (because it's not a 'testing mode' as such - these queries are just allowed in normal use.)
This issue is a placeholder to propose/discuss the concept and solutions for this prior to making a PR. I'm not planning to submit a PR on the short term now (in October), but maybe later on. Or maybe someone else would like to do this :)
Do we agree this could be useful/desired?  Presumably it would not add to the build size if the API function isn't used by the node.
Describe alternatives you've considered
(for cert tests: more complicated sending of DNS queries using 'udp send -x' with a hex string)
Additional context
none

Do we agree this could be useful/desired? Presumably, it would not add to the build size if the API function isn't used by the node.

From what I recall, we considered adding this before and decided it could add complexity and possible code overhead. While adding this sounds reasonable (at a minimum to allow more testing), I expect it not to be simple. It would likely require some design changes in Dns::Client, impacting the overall build size (regardless of whether we hide this feature behind a build config flag). Dns::Client was designed to be lean and lightweight, as it's intended to run on all categories of devices, including resource-limited ones.
I'll examine the code again to see if I can come up with any simple ideas.
If the goal is testing, another option is to implement or use a separate DNS client function that runs independently of OpenThread. Existing tools or implementations might already provide such functionality. Alternatively, as Esko suggested,  udp send -x with custom messages can be used.


Why use associated objects?

Why don't you put the queue on the ToastManager?
I reckon extensions don't allow stored properties for a reason, and using associated objects is going against the spirit of this.

I strongly disagree. First, there's not just one queue per application there's a queue per each parent view (you can present a toast in any view, and each of those views has it's own queue). Second, you'd be introducing a spaghetti mess of global state by using a singleton to store strong references to toast views across multiple parent views and potentially even multiple view controllers. Not a good idea. With associated objects each view mains it's own state, and when that view is dealloc'd (for whatever reason) so is everything associated to it.
Lastly, extensions don't support stored properties for the same reason Objective-C categories don't allow stored properties -- so that extensions can be applied to code that has already been compiled  (as would be the case with an extension on UIView). Much ofUIKit takes a similar approach.

Good points. I'd wrap the queue and put it on the view controller then. It would be like a fancy label.


Support for Event Tracking with Multiple Pixels

The two functions: trackSingle and trackSingleCustom are spins of the existing track and trackCustom functions which allow you to specify the pixel you want to send the event to. This is helpful for when you have multiple Facebook pixels on your site that you want separate event tracking for.
Usage with this library would be simple:
ReactPixel.trackSingle("Purchase", "<PIXEL_A>", {data})
ReactPixel.trackSingleCustom("Lead", "<PIXEL_B>", {data})
Some more reading directly from Facebook: https://developers.facebook.com/ads/blog/post/2017/11/28/event-tracking-with-multiple-pixels-tracksingle/
@zsajjad Any thoughts?

for people who may need this, Usage with this library is below.
ReactPixel.trackSingle("PIXEL_ID", "Purchase", data);
ReactPixel.trackSingleCustom("PIXEL_ID", "Custom Event", data);