Please keep floating point two after dividing by 100

Please keep floating point two after dividing by 100
example:
        $price =  Money::CNY(2069)->divide(100,Money::ROUND_UP);
        echo $price->getAmount();

result
21

I hope so
20.69

Please tell me how to do it thank you

I'm not entirely sure what you are trying to do. Money stores amounts in integers internally (technically integers in strings). It also takes subunits into account, so when you write Money::CNY(2069) internally it is stored as 2069, but it really means (for example when you try to format the money) is 20.69.
If you divide that with 100 it will become 20.69 internally, which really means 0.2069. Since this currency only handles values until 0.XX, the rest will be rounded.
Amount will only be an integer. If you want to format the money, use a MoneyFormatter, or keep in mind currency's subunit.
Hope this helps. I recommend you reading the documentation, these concepts are discussed there in details. If you are missing something from there, feel free to open another issue.

I see  Thanks for you  @sagikazarmark


Rename Banner to Warning banner

Leave existing banner.css and banner.js, since there are many projects that still uses the Banner component.
hw-banner is used the following places:

https://github.com/bring/tracking-frontend/blob/master/frontend/src/test/components/__snapshots__/ApplicationBanner.test.js.snap
https://github.com/bring/e-porto/blob/master/frontend/digitalstamp/src/pages/dummy/Debug.js
https://github.com/bring/norgespakke-liten/blob/master/frontend/src/components/Debug.tsx
https://github.com/bring/kp-suite/blob/master/hedwig-commons/src/main/resources/site/parts/banner/banner.html
https://github.com/bring/pmo-web-components/blob/master/library/src/components/pmo/ApplicationMessage/__snapshots__/ApplicationMessageBanner.test.tsx.snap
https://github.com/bring/sende-express/blob/master/frontend/src/components/Debug.tsx
https://github.com/bring/pmo-web-components/blob/master/library/src/components/pmo/ApplicationMessage/ApplicationMessageBanner.tsx
https://github.com/bring/tracking-frontend/blob/master/frontend/src/components/ApplicationBanner.js
https://github.com/bring/tracking-frontend/blob/master/src/main/resources/enonic.posten.no.no.backup

 Naming for boxes and warnings


Challenge http://www.freecodecamp.com/challenges/waypoint-turn-an-image-into-a-link has an issue

The challenge asks for: Wrap your image element inside an anchor element that has its href attribute set to "#".
My code is:
Click here for
And when I hover over the image, the mouse cursor becomes a link clicking pointer. However I cannot complete the challenge.
Thank you,
Ines

I just tried this and couldn't duplicate it. It passed as expected.
BTW, you want to be sure to wrap your code in back ticks (check out Mastering Markdown and scroll down to Syntax Highlighting to see how it works). Without marking that as code, it renders as html. I was onl;y to read your code because it the bot posted it to the Slack chat in plain text.

@inesllopart I can't read your code because GitHub is interpreting it literally. Please put a:

This seems to be passing in Safari, Firefox and Chrome on Mac. I don't know what issue you are experiencing.


Chore: Compatibility of RN 0.74 and Expo SDK 51

Why
During our project upgrade to expo sdk 51 and RN 0.74, i noticed that this lib some types are outdated with Reanimated and RN.
This PR is compatible with the latest versions of Expo and RN.
How

Replacing Animated.SharedValue with SharedValue directly because renimated is deprecated with an old type.

During testing the example project, I noticed that many configurations and libraries in the project are already outdated. For instance, the app.json configuration is already out of date. You can refer to the latest documentation here for instructions on updating it.

And now I'm using Yarn 3 to integrate example and library code. It's simple and doesn't rely on too much configuration.

Test
I have tested the web and iOS app, and they all work well.
https://github.com/coinjar/react-native-wagmi-charts/assets/37520667/deafa421-1070-4ed3-9f3e-52f242e59927
Let me know if you guys have any questions about this PR!

Looks good to me.

Nicely done! Thanks @alantoa

Hey @honeybadger26, could you please release it on npm? I noticed that it's available on GitHub but not on npm...

Hi @alantoa. There were a few TypeScript errors that prevented the build (and publish) of the package. I aim to fix those and get a release out as soon as I can.

@alantoa v2.5.1 has been released to npm :)

@honeybadger26  thank you! 🙏


[Parse] Drop Swift3 support for '$', 'throws', and 'rethrows' as identifier

In Swift3:

'$' were parsed as identifier without any diagnostics. (6accc59)
'throws' and 'rethrows' are parsed as identifier in several places. (a176016)

@swift-ci Please smoke test

@swift-ci Please smoke test


helmfile: bugfix sha256 for v0.140.0

Motivation for this change
Current build of helmfile v0.140.0 fails with mismatched sha256 message
error: hash mismatch in fixed-output derivation '/nix/store/q5i07b9i56l1r1x91bn4lwlrdgl3vv83-source.drv':
         specified: sha256-Y1BlvUudxEZ1G893dwYU+R6k2QAYohx4+0yysYaUM0E=
            got:    sha256-D9CyJE6/latz4541NfOtvKy+kui3CVmD483SkdEJzyU=
error: 1 dependencies of derivation '/nix/store/n3yzzsmg45b2prrdzf82543d80py1gg7-helmfile-0.140.0.drv' failed to build

Things done
Aside from getting the hash from error message, I used nix-prefetch-git utility
nix hash to-sri --type "sha256" $(nix-prefetch-git --url https://github.com/roboll/helmfile --rev v0.140.0 2>/dev/null | jq -r '.sha256')

to get sha256-D9CyJE6/latz4541NfOtvKy+kui3CVmD483SkdEJzyU=

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Fixed in https://github.com/NixOS/nixpkgs/pull/134494


Add Peformance Analyzer to 2.7 manifest

Description
Add Peformance Analyzer to 2.7 manifest
Issues Resolved
N/A
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #3407 (be57f90) into main (c38175c) will decrease coverage by 0.29%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main    #3407      +/-   ##
==========================================
- Coverage   91.74%   91.46%   -0.29%
==========================================
  Files         172      172
  Lines        4991     4991
==========================================
- Hits         4579     4565      -14
- Misses        412      426      +14

see 2 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


[Help] How to attach a callback to a disconnect event?

How do I detect when a device is disconnected? The scrcpy program is able to tell when it gets disconnected and closes the stream with a log WARN: Device disconnected. But when I disconnect when using the python client, the frame feed just stops and there are no logs. I tried using adb.wait_for but it is a blocking function.

Previously, the following code will throw an error: https://github.com/leng-yue/py-scrcpy-client/blob/c40f6e350b01c2ee23b1ffcdec57455d0012df46/scrcpy/core.py#L231
However, I noticed that if you start the scrcpy client in a daemon thread, there is no way to understand if the client is disconnected. So I fixed it in v0.4.6. In this version, the self.alive will be set to false when disconnected.
https://github.com/leng-yue/py-scrcpy-client/blob/01b2e653f9796f200951a2d1d5edaa54d3c16197/scrcpy/core.py#L244
If there is any bug, feel free to ask.

Running the below code always prints True, even when I remove the phone from my laptop.
import scrcpy

client = scrcpy.Client()
client.start(threaded=True)

while(1):
    print(client.alive)

0.4.6

The video stream may be empty if a user is not active. For example, some devices won't send a new frame if you don't click the screen for a while. And when the device is disconnected, didn't your video stream raise an IO Error, like BrokenPipe?

Yes, what you describe does happen on my phone. I am using a Gapaxy A20s, and not touching the screen for a while stops triggering the EVENT_FRAME event, but I noticed that it really just pauses on self.__video_socket.recv until I do. No error was raised, it just stops calling my on_frame function.

Sounds good, I left some comments on your PR :)


fix javax.mail.Address ClassNotFoundException

Purpose of the pull request
https://github.com/DataLinkDC/dlink/issues/607

Brief change log
/lib/dlink-alert-email-0.6.4-jar-with-dependencies.jar

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
lib/dlink-alert-email-0.6.4-jar-with-dependencies.jar

感谢你的pr, 你需要做一下修改, 把相关核心依赖  打包在admin jar 中  而不要使用 fat jar


Tab order and autofocus on sign in + registration screens

I noticed today that the the sign in and registration screens don't have some common UX affordances. I'd like to fix that.
A PR addressing this issue should:

[ ] Set the tab order on the sign in screen to email then password then forgot password
[ ] Set the tab order on the registration screen to email then password then password confirmation (if it isn't already)
[ ] Autofocus on the email field for both of these forms

Thanks @joemasilotti  for giving me opportunity 👍

All the best @aj-abhishek-jadav 👍

Hi @joemasilotti,

shall i add autofocus on Forgot Password page's email field

And on Resend Confirmation Instruction Page

Yes please to both!

Closed via #816.


Vectorized online update

I didn't see any indication in the documentation and examples of whether vectorized online update of multiple data streams is possible.
Example:
import numpy as np
import simdkalman

N_STREAMS = 3

kf = simdkalman.KalmanFilter(
    state_transition = np.array([[1,1],[0,1]]),
    process_noise = np.diag([0.1, 0.01]),
    observation_model = np.array([[1,0]]),
    observation_noise = 1.0)

initial_means = np.zeros((N_STREAMS, 2))
initial_covariances = np.tile(np.eye(2), (N_STREAMS, 1, 1)) # shape = (N_STREAMS, 2, 2)
observations = np.random.normal(size=(N_STREAMS, 1))

kf.update(initial_means, initial_covariances, observations)

This throws an assertion error but i'm not sure whether i'm doing something wrong or this kind of use is not supported.

Yes, this is possible, but you have to use the primitives module, which works a bit differently: you do not create a KalmanFilter object, but use the primitive functions directly with the previous state and the relevant matrices (A, H, Q, or R). Then they return you the new state. The primitive functions are also a bit more picky about the matrix shapes.
Your example would be modified as follows
import numpy as np
from simdkalman.primitives import update

N_STREAMS = 3

state_transition = np.array([[1,1],[0,1]])
process_noise = np.diag([0.1, 0.01])
observation_model = np.array([[1,0]])
observation_noise = np.array([[1.0]]) # NOTE: wrap as matrix

initial_means = np.zeros((N_STREAMS, 2, 1)) # NOTE: (N, 1) -> (N, 2, 1)
initial_covariances = np.tile(np.eye(2), (N_STREAMS, 1, 1)) # shape = (N_STREAMS, 2, 2)
observations = np.random.normal(size=(N_STREAMS, 1, 1)) # NOTE: (N, 1) -> (N, 1, 1)

means, covariances = update(
    initial_means,
    initial_covariances,
    observation_model,
    observation_noise,
    observations)

This is exactly what I needed. Thank you.


Unable to get disk metrics for /host/proc/sys/fs/binfmt_misc

Seeing similar errors to #3329
Describe what happened:
(pkg/collector/py/datadog_agent.go:148 in LogMessage) | (disk.py:114) | Unable to get disk metrics for /host/proc/sys/fs/binfmt_misc: [Errno 40] Too many levels of symbolic links: '/host/proc/sys/fs/binfmt_misc'

Huge amounts of these messages on startup/trace messages sent
Describe what you expected:
No error
Additional environment details (Operating System, Cloud provider, etc):
datadog-agent:latest (6.11.2)
I notice this only happens in a high load environment. Is there anyway to prevent this without changing the config yaml?
Also would be great to know what causes this - why does it only happen under load?

hey @endinthesky! Thanks for opening up this issue. The best way to stop these logs from populating would be to configure the disk check's configuration yaml to blacklist those mount points (as mentioned in the issue you referenced). There's some more information in our doc here as well. I'm not sure how this might be related to high load environments at the moment, but it may be worth opening a support ticket if you want to investigate this further.

A solution has been provided by @xlucas here: https://github.com/DataDog/datadog-agent/issues/3329#issuecomment-492030202 as well as the issue has been already reported.
Thanks!


Improve Caching Strategy

In #80 a cache layer was added for computed event durations
However, we need to make caching smarter. For one, caching must be disabled for events in the future, as future events are likely to change (perhaps, the stale-while-refresh strategy could be used)
Also, there should be button to explicitly recompute the durations for current view (day, week or month) (see https://github.com/maxxxxxdlp/calendar-plus/issues/125)
Ideally, we should detect which events changed and recompute only those, but that is a bit out of scope at the moment due to complexity involved

When doing tests between performance with caching and without caching, the difference was not very noticeable.
However, the added complexity of caching is very large - it caused a lot of bugs.
What is more, as soon as we add caching, we need to figure out how to clear the cache on changes (i.e, when the user edited any event on the page)
Similarly, if the user changed anything that may affect the cache (like virtual rules), the cache needed to be invalidated.
What is more, because the cache storage is limited, we had two separate data structures for fetched events: one that is optimized for storage size and another that is optimized for ease of use. Without caching, separate data structures won't be needed.
Finally, when doing testing for https://github.com/maxxxxxdlp/calendar-plus/issues/148, I noticed that even fetching events for the entire year has great performance.
Thus, any millisecond savings from caching are not worth the much greater added complexity, bugs, and displaying stale data to the user - caching will be removed


About ComputeLaneCount arguments

I don't know where else to put this for IntelGraphicsFixup.kext, and I don't know if you already know this (since you used unk1 as name) but the second argument to ComputeLaneCount() is: IODetailedTimingInformationV2 *timingInfo

Hi, looks like I forgot to run c++filt(h) on the symbol =) More important, might you have an idea what unk3 is actually? I got a feeling it has some relation to connector type but did not go deep enough.

Not from the top of my head, but I think to have something much better for you. Look at this:
AppleIntelFramebuffer::validateDetailedTiming(IOFBDisplayModeDescription modeInfo, unsigned long long sizeOf_modeInfo)

Now search for this code snippet in the binary:
00000000000173db         call       AppleIntelFramebuffer::maxSupportedDepths(IODetailedTimingInformationV2 const*)
00000000000173e0         dec        eax
00000000000173e2         mov        dword [r13+0xc], eax

That stuffs the value into this structure:
struct IODisplayModeInformation {
    UInt32                      nominalWidth;	// index 0
    UInt32                      nominalHeight;	// index 4
    IOFixed1616                 refreshRate;	// index 8
    IOIndex                     maxDepthIndex;	// index 12/0xC <==
    UInt32                      flags;
    UInt16			imageWidth;
    UInt16			imageHeight;
    UInt32                      reserved[ 3 ];
};
typedef struct IODisplayModeInformation IODisplayModeInformation;

Another code snippet:
00000000000173e6         mov        eax, dword [r13+0x44]	// IOAppleTimingID
00000000000173ea         test       eax, eax	// if (IOAppleTimingID == kIOTimingIDInvalid) {}
00000000000173ec         je         loc_1740e

Here the AppleTimingID is checked. Now you know what structures to look at ;)

Thanks =), it is a good hint, although I was more or less aware of it at the time of the research.
Basically this and this are the relevant parts. Unk3 is something about bandwidth as well, but it is still not very clear to me.
Yet even if we know what this name is all about, we will not be able to properly fix the issue. For some weird reason (well, I guess the reason is that Apple never uses this GPU with connectors) this->availableLaneCount is 0 for HD 530. As a result the kext thinks it cannot add any more screens. Figuring the cause of it will be a more proper solution, but it is not that simple, and just pretending to require 0 lanes works fine as well.
I guess I will close this issue, maybe somebody sees this one day and comes up with an idea =)

So you know what this 3 is?
if ( *(_DWORD *)(*(_QWORD *)&this->field_15096 + 40LL) != 3 )

Yes, that is connector type. 3 is LVDS, and the check means whether the connection is external. I have it written somewhere, if I remember correctly I identified DP and HDMI too.

Found the notes, HDMI — 1, DisplayPort — 2, LVDS — 3 if that helps :)

Really? Isn't that kIOScreenLockLocked?

Hmm, I don't have an idb with the tests already to backup my thoughts, but your theory sounds worth thinking about. Do you have more details on why it could lock state?

I can't remember it. What I do remember is that I checked the validateXxX routines. You could add them in the plugin and see what it returns. Example. validateDisplayMode is an interesting one.
What do we need for this to be called from within the plugin? Sorry. I don't have tools handy here right now...
Note: unk3 can be 6, 10, 12 or 20 and then the lane count is: 4, 2, 2 and 1 (for 1920 * 1200).

Yes, unk3 is assigned in AppleIntelFramebufferController::GetDPCDInfo (DisplayPortConfigurationData). And is basically a pure result of the AUX command:
uint8_t outaux[4];
AppleIntelFramebufferController::ReadAUX(
             this,
             (AppleIntelFramebuffer *)framebuffer,
             0,
             0x10u,
             outaux,
             displayPath);
  *((uint8_t *)framebuffer + 0x22EC) = outaux[0];
  *((uint8_t *)framebuffer + 0x22ED) = outaux[0] & 0xF;
  *((uint8_t *)framebuffer + 0x22EE) = outaux[0] >> 4;
  if ( outaux[1] == 6 )
  {
    framebuffer->unk3 = 6;
  }
  else if ( outaux[1] == 10 )
  {
    framebuffer->unk3 = 10;
  }
  else
  {
    if ( outaux[1] != 20 )
    {
      framebuffer->unk3 = 6;
      return 0xE00002C7;
    }
    if ( *(_BYTE *)(*(_QWORD *)&this->gap1E0[5080] + 96LL) < 0 )
    {
      framebuffer->unk3 = 10;
    }
    else
    {
      framebuffer->unk3 = 20;
    }
  }
framebuffer->availableLaneCount = outaux[2] & 0x1F;
  if ( (outaux[2] & 0x1F) != 1 )
  {
    if ( framebuffer->availableLaneCount != 2 )
    {
      if ( framebuffer->availableLaneCount != 4 )
      {
        return 0xE00002C7LL;
      }
    }
  }

I am rather unaware of DP spec, but
unk3 = 6 → pixelspace = 162000000
unk3 = 10 → pixelspace = 270000000
unk3 = 12 → pixelspace = 324000000
unk3 = 20 → pixelspace = 540000000
This corresponds to the 6th slide of this presentation. pixelspace is basically bandwidth per frame. The latter formula comes from this manual, page 69. But it has nothing useful for bits 15:8 used for unk3 :D
Given that in our cards unk3 is 0, I would give a try to debugging AppleIntelFramebufferController::ReadAUX commands and see what is returned for that 0x10 if anything. But if I remember correctly, patching unk3 to any of the values different from only 0 caused various panics.
As usual I am pretty short on time, and I also don't have the hardware. If you want to debug this, AppleIntelFramebufferController::GetDPCDInfo and AppleIntelFramebufferController::ReadAUX are the first things to try. To route them through the plugin simply use the routeFunction available in kern_patcher.hpp, it will generate the trampoline for you.
By the way, we could use a more convenient way of communication than github, iMessage for example. Feel free to mail me at vit9696 dog avp dot su.

On now I remember it again. Thanks for pointing this out. You know what. I looked at GetDPCDInfo() and setDPPowerState() earlier. For the wake issues after sleep. Well. What I remember is that the latter returns 0xe00002bc so that is why it won't set framebuffer->availableLaneCount and never initialises unk3. The reason for this is that It return much earlier. If you make it jump over that section, then it it should work.
Note: We also have 0x1e and thus the maximum bandwidth has increased.
p.s. We're on holidays, on a sailboat and we only have e-mail.

I looked at GetDPCDInfo() and setDPPowerState() earlier. For the wake issues after sleep. Well. What I remember is that the latter returns 0xe00002bc so that is why it won't set framebuffer->availableLaneCount and never initialises unk3. The reason for this is that It returns much earlier. If you make it jump over that section, then it it should work.

Not really. I asked a friend to try returning 0 from setDPPowerState when it is called from GetDPCDInfo, and that only resulted in a hang when booting. The same thing happens when setDPPowerState always returns 0. I am afraid it won't work this way, and the overall picture is more complex.
P.S. Enjoy your sojourn ^^, as for disasm it is IDA indeed.

Your friend must be doing something wrong as I am not running into a hang here on a SKL based computer with HS DP-3.
Could you please ask your friend to add some lines to the IGFX plugin and return zero from there? I bet that the hang is gone when I see his code.
Thanks!

Well, the code is mine. While I am not totally confident in it, working on a lot of other things at the moment, I don't see anything wrong here: src1, src2. And yes, he is also using HS DP3 with HD 530.

Ok, I fixed a minor typo and asked for a retest, it did not change anything.

You mean like he is still experiencing the same kind of hang? In that case. Remove the call to the original function and return 0 there. Nothing more. This tells me that the arguments don't match with the original function.
The next step is to solve the problem where getDPCDInfo returns 0xe00002d6.

The arguments do match:
$ c++filt __ZN31AppleIntelFramebufferController15SetDPPowerStateEP21AppleIntelFramebufferhP21AppleIntelDisplayPath
AppleIntelFramebufferController::SetDPPowerState(AppleIntelFramebuffer*, unsigned char, AppleIntelDisplayPath*)
$ c++filt __ZN31AppleIntelFramebufferController11GetDPCDInfoEP21AppleIntelFramebufferP21AppleIntelDisplayPath
AppleIntelFramebufferController::GetDPCDInfo(AppleIntelFramebuffer*, AppleIntelDisplayPath*)

The first invisible one is this aka void * obviously. I think the cause of the hang is not the routed function but the fact some other commands run after we return 0.
To confirm this I reverted return code changes and a panic, to get exactly the same behaviour the original kext offered but proxying getDPCDInfo and setDPPowerState, and he booted with no issues.
As for another test I changed setDPPowerState to always return 0 and not call to the original func just as you suggested, and he got the same freeze at IOConsoleUser.
However, after he force-rebooted after getting this hang he got my added "STILL NULL LANE COUNT" panic log, even though the panic itself was not seen at the hang time (and he does not use no reboot after panic).
This made me think that even though I patched setDPPowerState, lane count may sometimes be 0 still. So the panic has always happened but never displayed onscreen.
Afterwards I simply disabled the panic but left the lane count patch. He got a successful boot, so his hang was caused by my added panic. I checked the log, and indeed it was full of "igfx @ reporting worked lane count" messages, meaning that patching setDPPowerState is not enough.
To recheck this I disabled the panic and removed the lane count patch. He got a usual hang.

Ok. Understood. Good work so far. One important question; Is your friend using a DP monitor or some other (HDMI/DVI) monitor? Please note that the call to SetDPPowerState should only be done for DP monitors. Other monitors should skip it.

It is HDMI, and his MB actually has no DP. From what I know DP ports work just fine and they do not need any patches, but they are rare.
I also had a thought that the function should not be called for HDMI screens, but it seems to be done to my surprise. Perhaps a failure in this case is actually an expected return code.

Yup. I didn't need it with my other board, which had a DP port on it. But it's not expected result. Take a look at getDisplayStatus which calls IsHPDLow If you add these two, to the plugin, then your friend and I can see what it does. It should not call setDPPowerState from it.

Well, to be honest, I am busy with other stuff at the moment. It might be a good idea to continue Intel research, in both black screen area and pavp issues, but I previously stopped not because I could not make it further, but because I am reasonably short on time, and there are more important things.
I would appreciate if you could make some tests on your own for the time being. After all you understand things pretty clearly. Or perhaps we could return to this together some while later (perhaps after your journey).

No problem. Done.
computeLaneCount now returns 6 for unk3 and 1 as return value. Which is good.
Could you please link a complete IDA dump so that I can debug things further, since I do not have Windows installed and I did not expect to need IDA on my holiday.

Do you mean hex-rays dump or ids? If you are fine with PikeRAlpha at yahoo dot com, I could send both there.

Yes please.

Sure, sent.

Thanks. Got it. Anyway. As I said earlier; if you jump over it it should work. It didn't for you friend, but this what I did to get it to work:
  if ( *((_DWORD *)displayPath + 10) == 2
    || (++qword_17FA30, *((_DWORD *)displayPath + 10) == 3)
    && (++qword_17FA38, *(_BYTE *)(*(_QWORD *)&this->gap1E0[5080] + 96LL) & 0x40) )
  {
    ++qword_17FA28;
    result = AppleIntelFramebufferController::SetDPPowerState(
               this,
               (AppleIntelFramebuffer *)framebuffer,
               1u,
               displayPath);
    if ( result )
    {
      ++qword_17FA40;
      return result;
    }
  }
  result = AppleIntelFramebufferController::ReadAUX(
             this,
             (AppleIntelFramebuffer *)framebuffer,
             0,
             0x10u,
             outaux,
             displayPath);
  if ( result )
  {
    ++qword_17FA48;
    return result;
  }

If I change that 1u in the call to SetDPPowerState into 3u and put a filter on the powerState, we get something like this:
uint32_t IGFX::setDPPowerState(void *framebufferController, void *framebuffer, uint8_t powerState, void *displayPath)
{
	uint32_t retValue = 0;

	if (callbackIgfx && callbackIgfx->orgSetDPPowerState)
	{
		retValue = callbackIgfx->orgSetDPPowerState(framebufferController, framebuffer, powerState, displayPath);
		printf("igfx : setDPPowerState(%d) retValue = 0x%x", powerState, retValue);
	}

	if (powerState == 3)
	{
		retValue = 0;
	}

	return retValue;
}

Then we get by the error that SetDPPowerState returns. The next step was to add another filter. This time for the call to ReadAUX:
uint32_t IGFX::readAUX(void * framebufferController, void * AppleIntelFramebuffer, unsigned int unk2, unsigned short unk3, void * out_buffer, void * AppleIntelDisplayPath)
{
	uint32_t retValue = 0;

	if (callbackIgfx && callbackIgfx->orgReadAUX)
	{
		retValue = callbackIgfx->orgReadAUX(framebufferController, AppleIntelFramebuffer, unk2, unk3, &out_buffer, AppleIntelDisplayPath);
		printf("igfx : readAUX retValue = 0x%x, unk2 = 0x%x, unk3 = 0x%x\n", retValue, unk2, unk3);
	}

	if (unk2 == 0x0 && unk3 == 0x10)
	{
		retValue = 0;
	}
	return retValue;
}
```
This is how I get by the error that ReadAUX returns, but to make it all work I also need this:

uint32_t IGFX::validateDetailedTiming(void * AppleIntelFramebuffer, IOFBDisplayModeDescription * displayModeDescr, unsigned long long sizeOfdisplayModeDescr)
{
uint32_t retValue = 0;
if (callbackIgfx && callbackIgfx->orgValidateDetailedTiming)
{
	retValue = callbackIgfx->orgValidateDetailedTiming(AppleIntelFramebuffer, displayModeDescr, sizeOfdisplayModeDescr);

	if (displayModeDescr->timingInfo.detailedInfo.v2.horizontalActive == 1920 && displayModeDescr->timingInfo.detailedInfo.v2.verticalActive == 1200)
	{
		retValue = 0;
	}

	printf("igfx : validateDetailedTiming retValue = 0x%x, sizeOfTimingInfo = 0x%llx\n", retValue, sizeOfdisplayModeDescr);
}

return retValue;

}
Yet another filter. This time on the resolution that I want. Now. The crux of the problem appears to be related to the DisplayPath data. This has to be confirmed by someone else. You can add a few lines to dump the data.

The next thing that we need is someone with DP monitor so that this person can make a dump of the DisplayPort data for us. If that looks right, then we can patch our broken data.

Huh… that's quite something.
Let me try to keep up.
Argument change from 1u to 3u for SetDPPowerState. You simply use it to track the right call from AppleIntelFramebufferController::GetDPCDInfo, right? That's because I cannot find any calls with 3, and I don't really understand what 3 does. For this reason I would rather not risk passing random arguments and wrap GetDPCDInfo with some flag probably. Since we cannot have two IGPUs and it is all single-threaded, it should be safer and cleaner.
Then you had to add this AUX thing, so it is confirmed that it also fails, which is quite annoying. And to compensate for invalid DisplayPath data returned by this AUX read you simply forced a zero from validateDetailedTiming.
As for valid DisplayPath data, I tried asking the people I know whether they might have a board with a display port. But so far nothing, maybe you could try something on the blog? After all there is a slight chance one with straight hands could read it and at least dump the data for us…
But to be honest, even if we have this data, what will we do with it without properly AppleIntelDisplayPath structure and meaning. What I see it is a parent of AppleIntelHDCP, but as for the rest is pretty opaque:
struct AppleIntelDisplayPath {
  AppleIntelDisplayPathVT *vt;
  void *unk1;
  HDCP1CLASS *HDCP1CLASS;
  void *unk2;
  void *unk3;
  uint32_t displayType;
  uint8_t pad1[1065];
  uint8_t flags;
  uint8_t pad2[2];
  uint32_t displayPipe;
  uint32_t pad3[44];
  void *someHDCPclass;
  void *unk4;
};

Need a lot more time to find all the other fields, and I think most are outside of this kext. That's how I read things now in validateDetailedTiming:
  if ( this->field_9834 )
  {
    ++perfCounter21;
    ++perfCounter22;
    v16 = &this->displayPath;
    if ( this->displayPath->displayType != 3 )
    {
      ++perfCounter23;
      lane_count = 0;
      if ( !AppleIntelFramebufferController::ComputeLaneCount(
              this->self,
              &displayModeDescr->timingInfo.detailedInfo.v2,
              this->bpp,
              this->unk3,
              &lane_count)
        || (++perfCounter24, lane_count > (unsigned int)this->availableLaneCount) )
      {
        ++perfCounter25;                        // kIOReturnUnsupported
        return 0xE00002C7;
      }
    }
  }

To be honest, I still think it just some kind of a displayType, not anything else. I remember attempting to change the value somewhere, but it either panic'ed or did not work. But now that we know the place, could you try passing 2 instead of 3 for ReadUAX and maybe SetDPPowerState? Perhaps they could give us valid out_buffer?..
To be honest, all in all, now I am starting to wonder whether we are going in the right direction. In fact, should this->field_9834 even be 1. There are only two places for it becoming one, and it is straight-dependent on AAPL,DisplayPipe. One place is AppleIntelFramebufferController::start, another place is AppleIntelFramebufferController::setBootPipe.
In start it looks like this:
        displayPath = v98->displayPath;
        AppleIntelFramebufferController::MapFBToPort(
          v81,
          (AppleIntelFramebuffer *)v98,
          v98->displayPath,
          displayPath->pad1[1060]);
        v159 = (signed int *)&displayPath->displayPipe;
        v98->vt->__ZN15IORegistryEntry11setPropertyEPKcPvj(
          (IORegistryEntry *)v98,
          "AAPL,DisplayPipe",
          &displayPath->displayPipe,
          4u);
        if ( *((_BYTE *)v81 + 5598) == 1 )
        {
          ++qword_185EA0;
          *(_DWORD *)val = 0;
          v98->vt->__ZN15IORegistryEntry11setPropertyEPKcPvj((IORegistryEntry *)v98, "AAPL,DisplayPipe", val, 4u);
          v100 = &v98->field_9834;
          v98->field_9834 = 1;
        }
        else
        {
          v100 = &v98->field_9834;
        }

Just some annoying 5598 (15DEh) says, we go with 1. This comes from AppleIntelFramebufferController::getOSInformation. TL;DR it is the 18th byte of gPlatformInformationList entry:
__text:000000000002A8FA  movzx   eax, byte ptr [rdx+18] ; rdx points to gPlatformInformationList entry
__text:000000000002A8FE  mov     [rbx+2420h], al
__text:000000000002A904  mov     [rbx+15DEh], al

This has something to do with the connectors, right? I think you know more than me at this point :) Would you like to hear your thoughts.

Yes. The 1 -> 3 change was done to track that specific call to SetDPPowerState. BTW; 3 is sleep so that's not an issue. And this check:
if ( *((_BYTE *)v81 + 5598) == 1 )

That is only true for platform data with a single frame buffer (there's currently only one of it). A simple  shortcut to set property AAPL,boot-display earlier.
Here's the result of changing the value of displayType:
0 -> hang
1  -> Ok, without call to SetDPPowerState(3)
2 -> Ok, with call to SetDPPowerState(3)
3 -> black screen
4 -> black screen
I also checked your struct AppleIntelDisplayPath and changed it into:
struct IOAppleIntelDisplayPath
{
	AppleIntelDisplayPathVT *vt;
	void *			unk1;
	HDCP1CLASS *	HDCP1CLASS;
	void *			unk2;
	void *			unk3;

	uint32_t		displayType;

	uint8_t			pad0[12];	// 0x10 0x41 0x06 0x00 0x00 0x41 0x06 0x00 0x00 0x00 0x00 0x00
								// 0x10 0x42 0x06 0x00 0x00 0x42 0x06 0x00 0x00 0x00 0x00 0x00
								// 0x10 0x43 0x06 0x00 0x00 0x43 0x06 0x00 0x00 0x00 0x00 0x00

	uint8_t			portMask;	// 0 -> port-number = 0
								// 4 -> port-number = 6
								// 5 -> port-number = 5
								// 6 -> port-number = 7
	uint8_t			pipeMask;
	uint8_t			displayOnline;

	uint8_t			pad1[1];	// ?

	uint32_t		avSignalType;

	uint8_t			displayEDID[1024];
	uint16_t		displayProductID;
	uint32_t		displaySerialNumber;
	uint8_t			diaplayManufactureWeek;
	uint8_t			diaplayManufactureYear;
	uint8_t			displayVersionEDID;
	uint8_t			displayRevisionEDID;

	uint8_t			pad2[1];	// ?

	uint32_t		connectorType;

	uint8_t			pad3[1];	// ?

	uint32_t		framebufferNumber;
	uint32_t		displayFlags;
	uint32_t		displayPipe;

	// [ 0] = 0x00000780 0x000004b0 0x00000000 0x00000000 0x00000780 0x000004b0 0x00000000 0x00000000
	// [ 8] = 0x00000000 0x9e507000 0xffffff81 0x00000002 0x00000000 0x00000000 0x00000000 0x261cb400
	// [16] = 0xffffff80 0x00000000 0x00000000 0x261cb200 0xffffff80 0x00000000 0x00000000 0x00000000
	// [24] = 0x00000000 0x00000000 0x00000000 0x00007400 0x8a000012 0x33ff3333 0x3333c09c 0x01000000
	// [32] = 0x0dff3333 0x00002dde 0xffffff80 0x217f6c00 0xffffff80 0xdeadbeef 0xdeadbeef 0x80e18848
	// [40] = 0xffffff7f 0x00060007 0x00000000 0x2181ad20 0xffffff80 0x2184da80 0xffffff80 0x2184da40

	uint32_t		horizontalActive;
	uint32_t		verticalActive;

	uint32_t		pad4[2];	// ?

	uint32_t		horizontalScaled;
	uint32_t		verticalScaled;

	uint32_t		pad5[40];	// ?

	void *			someHDCPclass;
	void *			unk4;
};

But here is something interesting. I switched on my computer this morning and booted. Then I checked the log and there was not a single call to SetDPPowerState and no errors for calls to ReadAUX. Also less calls.
Shutting down and re-booting is not the same so I have to shut it down – which I have to do anyway – and see what I get tonight.

As for the logs it unfortunately likely is a Sierra+ feature. For some godforsaken reason it may accidentally drop a chunk of logs close to graphics acceleration start. So probably the logs were there, just they were eaten by the daemon.
As for displayType tests they look somewhat logical, except 3. But I think I got exactly the same behaviour in the past when I tried to go with 3. So probably it is "ok" to some level.
Very good job with IOAppleIntelDisplayPath (y), I guess that is quite something if we find a person capable of dumping DP info.
As for field_9834, in this case it is the other method, setBootPipe. I applied your new type definition, and explored the function a little more. It sets field_9834 to 1 if connectorType is 0, 1, 2, 3. I.e. pretty much for any connection, including HDMI.
All in all this confirms that field_9834 is not a culprit (well, at least it was designed to be 1 for HDMI), but the other two possibilities remain:

the original idea: broken display path data for hdmi some reason
a possibility of an incorrect check (if ( this->displayPath->displayType != 3 )), e.g. they could have meant displayType == 3 or even displayType != 3 && displayType != 1

Yup. Data is back; log show still sucks.
connectorType is 0, 1, 2, 3? Well. That really has to be framebufferNumber. Let me check. Yeah. Wrong structure. Here's a working one:
struct IOAppleIntelDisplayPath
{
	AppleIntelDisplayPathVT *	vt;
	void *			unk1;
	HDCP1CLASS *	HDCP1CLASS;
	void *			unk2;
	void *			unk3;

	uint32_t		displayType;

	uint8_t			pad0[12];	// 0x10 0x41 0x06 0x00 0x00 0x41 0x06 0x00 0x00 0x00 0x00 0x00
								// 0x10 0x42 0x06 0x00 0x00 0x42 0x06 0x00 0x00 0x00 0x00 0x00
								// 0x10 0x43 0x06 0x00 0x00 0x43 0x06 0x00 0x00 0x00 0x00 0x00

	uint8_t			portMask;	// 0 -> port-number = 0
								// 4 -> port-number = 6
								// 5 -> port-number = 5
								// 6 -> port-number = 7
	uint8_t			pipeMask;
	uint8_t			displayOnline;

	uint8_t			pad1[1];	// 0x00

	uint32_t		avSignalType;

	uint8_t			displayEDID[1024];
	uint16_t		displayProductID;

	uint8_t			displaySerialNumber[4];

	uint8_t			displayManufactureWeek;
	uint8_t			displayManufactureYear;
	uint8_t			displayVersionEDID;
	uint8_t			displayRevisionEDID;

	uint32_t		connectorType;
	uint32_t		framebufferNumber;
	uint32_t		displayFlags;
	uint32_t		displayPipe;

	uint32_t		pad2[2];	// 0x00000000 0x00000000

	uint32_t		horizontalActive;
	uint32_t		verticalActive;

	uint32_t		pad3[2];	// 0x00000000 0x00000000

	uint32_t		horizontalScaled;
	uint32_t		verticalScaled;

	uint32_t		pad4[40];	// ?

	void *			someHDCPclass;
	void *			unk4;
};
typedef struct IOAppleIntelDisplayPath IOAppleIntelDisplayPath;

All additions are now showing the expected data. Sorry for that. But anyway. That still means that basically all type of connections set field_9834.

connectorType is 0, 1, 2, 3? Well. That really has to be framebufferNumber.

Aha, makes sense. Thanks for fixing.

That still means that basically all type of connections set field_9834.

Yes. I guess this is good to know at least. Could we eliminate the possibility of a mistake left by some Apple dev by changing this->displayPath->displayType != 3 to this->displayPath->displayType != 2? I tried finding an older kext for a proof, failed unfortunately, but I certainly remember that there was no such check before 10.12.5b2. If it works… eh, maybe try filing a radar on that and mailing somebody from AAPL's team?
DP data comparison would be useful, but let's be serious, what could really go wrong here so that a small change in lane count computation fixes the output. I would expect more drastic failures if anything was badly broken.
pad0 looks strange to my eyes, feels like an array of 4 ints, and with this positioning it may describe some connection hardware?

2 doesn't work here. Not with DVI and also not with HDMI.  The third one is not a great one, we now know, but what do you think about the first check? Isn't that the AGDC state (I was told to look at the AGDC code)?
The IOAppleIntelDisplayPath struct is interesting, and it would be nice to know exactly what it does/is used for, but the problem is more likely related to AGDC code.
I happen to still have the 10.12.5b1 kext. Just in case you are interested ;)
Sure. pad0 may be wrong. We just don't know yet. That's why I left it like that.

2 doesn't work here. Not with DVI and also not with HDMI. What does work for me is binary patch method

Ugh, I basically made a mess of my own words:

Found the notes, HDMI — 1, DisplayPort — 2, LVDS — 3 if that helps :)

Should be 1 of course to avoid HDMI failing.
As for three checks, sorry, I have a slightly different asm, and I don't see another check here O_o:
__text:000000000001841B 4C 8D 63 2C                          lea     r12, [rbx+2Ch]
__text:000000000001841F 41 80 BF 6A 26 00 00+                cmp     byte ptr [r15+266Ah], 0
__text:0000000000018427 74 7F                                jz      short loc_184A8 ; first check, this is field_9834
__text:0000000000018429 48 FF 05 28 A2 16 00                 inc     cs:perfCounter21
__text:0000000000018430 48 FF 05 19 98 16 00                 inc     cs:perfCounter22
__text:0000000000018437 4D 8D AF F8 3A 00 00                 lea     r13, [r15+3AF8h]
__text:000000000001843E 49 8B 87 F8 3A 00 00                 mov     rax, [r15+3AF8h]
__text:0000000000018445 83 78 28 03                          cmp     dword ptr [rax+28h], 3
__text:0000000000018449 74 64                                jz      short loc_184AF ;second check, this is display type
__text:000000000001844B 48 FF 05 FE A1 16 00                 inc     cs:perfCounter23
__text:0000000000018452 C7 85 40 FF FF FF 00+                mov     [rbp+lane_count], 0
__text:000000000001845C 49 8B BF D0 01 00 00                 mov     rdi, [r15+1D0h] ; controller
__text:0000000000018463 41 8B 97 88 26 00 00                 mov     edx, [r15+2688h] ; bpp
__text:000000000001846A 41 0F B6 8F EF 22 00+                movzx   ecx, byte ptr [r15+22EFh] ; unk3
__text:0000000000018472 4C 8D 85 40 FF FF FF                 lea     r8, [rbp+lane_count] ; lane_count
__text:0000000000018479 4C 89 E6                             mov     rsi, r12        ; timingInfo
__text:000000000001847C E8 17 A9 02 00                       call    __ZN31AppleIntelFramebufferController16ComputeLaneCountEPK29IODetailedTimingInformationV2jjPj ; AppleIntelFramebufferController::ComputeLaneCount(IODetailedTimingInformationV2 const*,uint,uint,uint *)
__text:0000000000018481 84 C0                                test    al, al
__text:0000000000018483 74 17                                jz      short loc_1849C
__text:0000000000018485 48 FF 05 DC A1 16 00                 inc     cs:perfCounter24
__text:000000000001848C 41 0F B6 87 F1 22 00+                movzx   eax, byte ptr [r15+22F1h]
__text:0000000000018494 39 85 40 FF FF FF                    cmp     [rbp+lane_count], eax
__text:000000000001849A 76 13                                jbe     short loc_184AF

To my regret I don't remember where this AppleIntelSKLGraphicsFramebuffer comes from, but I think it was 10.12.5. The note says: AppleSW  PROJECT:GraphicsDrivers  DEVELOPER:beretta  BUILT:Apr 22 2017 16:01:41.

I happen to still have the 10.12.5b1 kext. Just in case you are interested ;)

Yes, I am. And I found b3, by the way.


Make better determiner for when to begin to mix students

Right now, the program only begins to make matches between students of different grades at an arbitrary round value (of 5). This won't work if there aren't enough students in each grade to make matches before round 5. This should be calculated based on number of students.

This could be resolved along with #31. The best way to resolve this would be to present a dialog whenever the user presses the matchmake button. It would have three options for matchmaking

Matchmake between Homeroom (feature coming in #31)
Matchmake within grades
Matchmake within all students


can't work on macos?

on macos, I simple try to use CppParser.Parse. It always can't find some standard c++ header(for example the stdio.h).
whether specific parse options need to set?

It does work on macOS, but depending on what you are parsing you may need to add some extra options for example these are the options I add on my little app:
p.TargetSystem = "darwin";
p.TargetVendor = "apple";                p.SystemIncludeFolders.Add("/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include");                p.SystemIncludeFolders.Add("/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1");                p.SystemIncludeFolders.Add("/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include");                p.SystemIncludeFolders.Add("/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.0/include");
p.AdditionalArguments.Add("-stdlib=libc++");

thanks, the parse options you provided can resolve my problem.


Support wildcards in entries

Hi, I'm trying wildcards and they don't work.
  plugins: [
    usePHP({
      entry: [
        "index.php",
        "partials/*.php",
      ]
    })
  ],

I have to define each file to make it work:
  plugins: [
    usePHP({
      entry: [
        "index.php",
        "partials/nav-top.php",
        "partials/message.php",
        "partials/footer.php",
      ]
    })
  ],

Is it possible to use wildcards in entries?
Thanks.

Yes as for now this feature is not supported.
But it is definitely coming in the near future!


Use f-strings in framework and framework tests

This is a mostly tool-based conversion (a couple added by hand), and other changes were not made, to try to keep the diff manageable.
Adds a GitHub Action to run framework tests if framework changes. Because of this, the existing fails in the framework tests need to be fixed before we can get to a "pass" status.
Signed-off-by: Mats Wichmann<EMAIL_ADDRESS>Contributor Checklist:

[x] I have created a new test or updated the unit tests to cover the new/changed functionality.
[ ] I have updated CHANGES.txt (and read the README.rst)
[ ] I have updated the appropriate documentation

Thanks to @bdbaddog the exception-raising test in TestCommonTests now passes on 3.11 as well - the version the GitHub action was set up with. It was previously passing on older Pythons, but the "friendlier error messages" stuff in 3.11 adds more output to (some) exceptions and so was still failing.
There are two fails left in TestCmdTests, as follows:

test_finish:  File "/home/mats/github/scons/testing/framework/TestCmdTests.py", line 2510, in test_finish
    assert stdout == expect_stdout, stdout
AssertionError: script_recv:  STDOUT

test_send():  File "/home/mats/github/scons/testing/framework/TestCmdTests.py", line 2608, in test_send
    assert result == expect, f"Result:[{result}] should match\nExpected:[{expect}]"
AssertionError: Result:[] should match
Expected:[script_recv:  stdin.write() input to the receive script

There are two of the only three tests that use the send functionality; the third one is marked flaky:
    # TODO(sgk):  figure out how to eliminate the race conditions here.
    def __FLAKY__test_send_recv(self):

Probably should use the unit test skip decorator rather than inline os check

Probably should use the unit test skip decorator rather than inline os check

Agree. Couldn't remember/find the syntax and since I had to throw away my previous fix with the git madness... ;)
What's the right syntax?

Probably should use the unit test skip decorator rather than inline os check

Agree. Couldn't remember/find the syntax and since I had to throw away my previous fix with the git madness... ;) What's the right syntax?

@unittest.SkipIF
I'm looking at these now, looks like a couple shouldn't necessarily skip the whole test, but the existing test was insufficient: looks for os.symlink in a try block, but windows has it now, it just isn't useful unless you have special conditions set up.

Probably should use the unit test skip decorator rather than inline os check

Agree. Couldn't remember/find the syntax and since I had to throw away my previous fix with the git madness... ;) What's the right syntax?

@unittest.SkipIF
I'm looking at these now, looks like a couple shouldn't necessarily skip the whole test, but the existing test was insufficient: looks for os.symlink in a try block, but windows has it now, it just isn't useful unless you have special conditions set up.

RIght, but simpler to just skip the test or part of the test which required symlink.
We're testing it on linux and we don't natively use symlinks on windows, so I'm fine with not spending tons of time figuring out how to check if the current user has permissions to symlink and to symlink the current dir/etc.. it seems like a rathole not worth resolving.


Make Backoff class thread-safe

Motivation
In preparing https://github.com/apache/pulsar/pull/13951 (still a draft at this time), I noticed that the Backoff class is not thread safe, but it is accessed as if it were because we pass it to multiple threads and call .next() to get the next backoff delay.
Modifications

Move assertions for initial and max values to constructor and remove them from the RetryUtil class.
Remove the @Data annotation on the Backoff class. It allowed for unsafe access to internal state.
Add Javadocs to improve documentation of the class.
Remove unsafe initialization for the next variable. Here is my source showing that this initialization is unsafe: https://shipilev.net/blog/2014/safe-public-construction/.

Verifying this change
There is already test coverage for this class. The primary changes just add synchronized keywords to methods that get or update mutable state.
Does this pull request potentially affect one of the following parts:
It's possible that removing the @Data annotation on the class will break client applications since Backoff is a public class in the java client. I'll need guidance on how we should proceed here.
Documentation

[x] doc

This PR contains Javadocs for relevant documentation. There is no need to document this change elsewhere.

Closing as stale...
We later duplicate BackOff in another module - https://github.com/apache/pulsar/pull/10744
Maybe we should move this class to pulsar-common and do the refactor.

pass it to multiple threads

Another approach is we pass always the build and initialize the instance per thread (call graph). It seems more reasonabel.


ModuleNotFoundError: No module named 'fastseq.models'

Hello,
The fastseq library, installed through pip, seems to have the models directory missing and crashes with the following exception:

File "/root/miniconda3/envs/Env37/lib/python3.7/site-packages/fastseq/init.py", line 9, in
import fastseq.models  # pylint: disable=wrong-import-position
ModuleNotFoundError: No module named 'fastseq.models'

And while this directory can be found in the repository here, I can only find prophetnet, while I am looking for BART.
Could you give me a hint on how to install the according models?
Thanks and happy holidays :-)

@f-lng Do you mean fastseq was installed by pip install fastseq? If yes, could you try the installation method mentioned here? The package on pypi.org is out of date. We are working on the manylinux support. After that, we will update the package there; if no, could you provide more details about how to reproduce this error?
Inside fastseq, BART related code can be found under the directory fastseq/optimizer/. You may find that fastseq did not implement BART from scratch, but it natively supports the ones huggingface-transformers and fairseq implement. You just need to add import fastseq to the beginning of your code which calls either huggingface-transformers BART or fairseq BART, then all the performance optimizations provided by fastseq will be automatically applied. A simple example can be found here. The more comprehensive examples can be found here for huggingface-transformers and here  for fairseq.

Thank you, it seems that the pip package is indeed broken.


make lda_models operate on datasets instead of forward_indexes

PR for easier conversation.
Changes

removed uses of no_evict_cache
use dataset_view internally in lda_scvb to manage the minibatch shuffling

Things that could be added:

making doc_size a function of instance or dataset; or just leaving as a helper function in lda_model
constructor for dataset that takes a single {inverted,forward}_index parameter and automatically uses the whole document range

Do we need to store a copy of the dataset internally?

Oh, no. I just blindly converted from the index version!

Mm, I think my point is less "let's not copy it" and more "do we even need to store it at all"? We only require it for training, right?

It is only required for training, but is needed in both the constructor and run functions for the models.
The way topics is set up is that the lda_* classes are the trainers. To read saved models, you use the lda-topics program, which reads the plaintext files output by the trainers (this only requires a forward_index to convert term IDs to their string representations).
Of course, this could be changed to make the topics namespace more like the rest of MeTA. That is, lda_* learns a model if one doesn't already exist and saves it to disk in serialized form. Then, we can programmatically read the saved models and interact with the various distributions over the topics API as opposed to calling lda-topics and printing output.
I think the way it's set up now makes sense for the "trainers" to hold a reference to the dataset that they are operating on. Alternatively, we could change the constructors to start the training (essentially having them call run), and then I don't think we'd need to store a dataset ref internally. We'd need to pass the number of iterations and convergence threshold to the constructor. Either is fine with me.

Good to merge?


open new issue

open new issue

I wanna solve this trigger issue

yes

hwat

fasdf

aaa

trigger

aa

bb


Have the SalsaConnection post return the response

Needed for changes in progress with Indigo event notifications

this is a public gem and _post is not a private method, therefore I'd except a change in the minor version number

Good catch - I already bumped the version (I squashed it already, so it wasn't obvious)

👍


[sqlite3] Embed dllimport in header

Sqlite3 uses a macro SQLITE_API on all external APIs as an injection point for dllimport/dllexport. This PR embeds the correct declspec according to the build configuration.

Need to merge master to solve the conflicts here. @ras0219-msft

Thanks robert!


FallbackInt crashes on Turkish

This code will generate fallbackİnt instead of fallbackInt since we have a capital i in Turkish  :) and that will throw an exception

Fixed by #66
Thanks

I thought they had. I don't think this project is using error prone though.

EP doesn't have one yet. https://github.com/google/error-prone/issues/632


Feature: deep-linking a single tx

What it solves
Resolves #970
How this PR fixes it
A new route has been added /{{shortName}}:{{safeAddress}}/transactions/{{txId}}. A new component <TxSingularDetails> fetches the matching transaction and adds it to the store as the transaction components/hooks are deeply integrated with Redux.
The CGW returned transaction 'details' are converted to a 'summary' by means of a new function makeTxFromDetails() because the frontend Transaction type require a mixture of TransactionSummary and TransactionDetails from the CGW. The latter can be used to create a Transaction.
Key changes:

Copy deeplink button added to individual transactions
Link has transaction id
Deeplink page only has transaction details
Tabs do not exist on deeplinked transactions because the title is self-explanatory
"Details" breadcrumb
Created transactions navigate to the deeplinked transaction
Anonymised tracking event .../transactions/TRANSACTION_ID

Other notable changes:

The gatewayTransactions reducer was cleaned up.
txLocation was removed from selectors.
A new prop iconType was also added to SRC's copy button component, so that we can assign a custom icon to it.

Known bugs:
The share button is disabled because of the following, which will be split into further issues.

Sole-owned Safes can reject transaction a second time until next transaction list poll
Multi-owned Safes must confirm rejections from initially queued transaction

Required in next version:

Grouped transactions (should fix multi-owned issue above)

How to test it

Open the either the queued/historical transaction list(s) and expand a transaction.
Copy the new transaction link via the new share button.
Open the link and expect the transaction to be displayed in an expanded accordion, as it would be normally.

Screenshots

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

17 of 37 (45.95%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.003%) to 31.564%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/logic/safe/store/models/types/gateway.d.ts
1
2
50.0%

src/routes/safe/components/Transactions/TxList/TxSummary.tsx
1
2
50.0%

src/routes/safe/components/Transactions/TxList/TxShareButton.tsx
1
4
25.0%

src/routes/safe/components/Transactions/TxList/index.tsx
9
24
37.5%

Totals

Change from base Build<PHONE_NUMBER>:
0.003%

Covered Lines:
2986

Relevant Lines:
8434

💛  - Coveralls

Nice! 👏
Some txns aren't loading, e.g. this one:
https://pr2974--safereact.review-safe.gnosisdev.com/app/rin:0xb3b83bf204C458B461de9B0CD2739DB152b4fa5A/transactions/0x3d25bef84fce5f96c58eb8ba5bda9cb3af166e738c649b0c2df7ec91103acb5f

Safe Creation tx doesn't have the button. Any idea why?
Also, could we hide the Queue & History tabs in this view?

Nice! 👏
🐞Some txns aren't loading, e.g. this one: https://pr2974--safereact.review-safe.gnosisdev.com/app/rin:0xb3b83bf204C458B461de9B0CD2739DB152b4fa5A/transactions/0x3d25bef84fce5f96c58eb8ba5bda9cb3af166e738c649b0c2df7ec91103acb5f
Safe Creation tx doesn't have the button. Any idea why?
Also, could we hide the Queue & History tabs in this view?

That's strange because it loads for me. I will look into this later.

If the tabs are hidden, how would the user determine whethere it's a historical or queued transaction?

Opened fine for me this time. Randomly clicked on some other txns from my history. Some throw.
Looks like it can be reproduced on any tx, and it happens only occasionally. Race condition?

If the tabs are hidden, how would the user determine whethere it's a historical or queued transaction?

Hmm, why would this be critical on this screen? You can see if a tx needs confirmations.

Hmm, why would this be needed on this screen? You can see if a tx needs confirmations.

I suppose it isn't necessary, and will clean up some of the logic too. I'll implement it now

Another potential improvement would be to add a breadcrumb like this:

(Or just Transactions / Details)

@katspaugh, I think I prefer "Transactions / Details" because the hash is visible in the accordion.

Issue:
Tx cannot be rejected or signed/executed with the shared link
Use a safe with a "2 out of x" policy
Create a tx
Change owner
Use the deep link to share that tx in Queue tab
Try to execute / reject the tx
Result:
The buttons don't work, if they didn't had any actions attached to them
Expected:
The Signing/executing or rejection modal should popUp
Gif:

I was able to execute a tx after listing it with the deep link, but there is a new issue
After executing it, the tx doesn't go away, it remains there.
Also the "need to execute" should change to a "Pending" text with the loading icon, and that's not happening
Once the tx is executed, on the top left corner you can see how the text changes from "Next transaction" to "Queue - Tx with nonce..."

Currently, when a tx is done executing the Queue tab remains empty and shows that image saying "Queue tx will appear here"

I think the best curse of action could be take the user to the history tab once the "tx successful" notification has popped up (but is up to the dev to see what's possible in this point, idk what kind of events we have here to trigger the redirection)

Any tx takes you to what would be the "deep link view" instead of taking you to the Queue tab. Can this be related to the possible duplicated rejection issue?
https://github.com/gnosis/safe-react/issues/3063

Do you think that we shouldn't navigate to the transaction after creation? I would not necessarily list this as a new issue because it is a simple thing for me to adjust @katspaugh

@francovenica and @iamacook , we agreed to open transaction details for now after transaction creation. Let's stop the work on this PR for now and do full functional testing. Please, test it fully and post each issue separately to discuss and allow
Johannes  prioritize them.

I didn't see anywhere that taking the user to the "deep link" view after a tx was intentional. Still is something that I completely disagree with, is a really weird change that will confuse the user a lot

I mention it in the PR description @francovenica, "Created transactions navigate to the deeplinked transaction" but we can discuss whether we should remove it in the daily.


Term Store

What type of issue is this?
Question
What SharePoint development model, framework, SDK or API is this about?
other (enter in the "Additional environment details" area below)
Target SharePoint environment
SharePoint Online
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[X] 💥 Microsoft Edge
[X] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[ ] mobile (iOS/iPadOS)
[ ] mobile (Android)
[ ] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details
SharePoint Online term store issue
Issue description
Hi All, I am trying to create the term set with the defined GUID we have on SharePoint 2013 on our SharePoint online QA tenant for migration purpose but when I am using the defined Guid then it is throwing error 'New-PnPTermSet: TermStoreEx:Failed to read from or write to database. Refresh and try again. ' and is not creating the term sets. I updated the last 2 digits of the term set guid and the term set got created. Also in case I delete the term set from the SharePoint and try to update again then also it worked, not sure why it is not working for the defined IDs which I have from SharePoint 2013 site. Attaching screenshot for reference.

Hi there, looks like you are using PnP Powershell cmdlets for this task, would you mind refiling the ticket at:
https://github.com/pnp/powershell/
This repository is mainly focused on developer issues with respect to SPFx, Add-Ins, API's, etc.


Unable to use C++ shared library in CMAKE project

I am trying to use the C++ shared library in a CMAKE project. I am trying to do something simple which is basically to be able to run a game by also include another library, such as libtorch. I understand libtorch is already built into the current alphazero lbtorch example but I am trying to use it on its own.
I understand that in the C++ useage instructions that you can use a shared library for open_spiel and this is what I am trying to do but via a CMAKE project. I see that there is a way to compile a file for open_spiel in the shared_library_example with clang++ but I want to make this via CMAKE so I can also incorporate libtorch or other libraries in my project.
I am new to using C++ libraries having done most things in python.
My current errors are that when I try to include the shared library and include the headers, etc. when I run something as simple as this: there is the error I am getting in my CMAKE build.
tester.cpp:
#include <torch/torch.h>
#include <iostream>
#include "open_spiel/spiel.h"
#include "open_spiel/spiel_utils.h"

int main() {
    torch::Tensor tensor = torch::rand({2, 3});
    std::cout << tensor << std::endl;

    // Print out registered games.
    std::cerr << "Registered games:" << std::endl;
//    std::shared_ptr<const open_spiel::Game> game = open_spiel::LoadGame("chess");
    std::vector<std::string> names = open_spiel::RegisteredGames();
    for (const std::string& name : names) {
        std::cerr << name << std::endl;
    }
}

my CmakeList.txt file:
cmake_minimum_required(VERSION 3.21)

set(CMAKE_CUDA_COMPILER /usr/local/cuda/bin/nvcc)
project(tester)
SET(BUILD_SHARED_LIBS ON)
SET(LD_LIBRARY_PATH ${HOME}/open_spiel/build)

set(CMAKE_CXX_STANDARD 17)

set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-everything")
set (CMAKE_POSITION_INDEPENDENT_CODE ON)

include_directories("${PROJECT_SOURCE_DIR}")

include_directories(open_spiel)
include_directories(open_spiel/build)
include_directories(open_spiel/open_spiel)
include_directories(open_spiel/open_spiel/abseil-cpp)
include_directories(open_spiel/open_spiel/abseil-cpp/absl)
include_directories(open_spiel/open_spiel/abseil-cpp/absl/random)
include_directories(open_spiel/open_spiel/abseil-cpp/absl/base)

find_package(PythonInterp REQUIRED)
find_package(Torch REQUIRED)
#find_package(open_spiel REQUIRED)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS} -v")
add_executable(tester tester.cpp)

target_link_libraries(tester "${TORCH_LIBRARIES}" open_spiel)
target_link_libraries(tester open_spiel)
set_property(TARGET tester PROPERTY CXX_STANDARD 17)

I have open_spiel repository downloaded into my $HOME/open_spiel directory
The error I am getting is in tester.cpp is:
undefined reference to `open_spiel::RegisteredGames()'
I am using CLION and it recognizes the open_spiel namespace and I can thus use Intellisense so it looks like to me that the shared library is being recognized, but it isn't!
I have tried also adding this before the add_executable:
add_library(open_spiel SHARED ${HOME}/open_spiel/build/libopen_spiel.so)
and then this after add_executable:
target_link_libraries(tester open_spiel)
hoping this would help.
I also tried adding this:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS} -v -I${HOME}/ -I${HOME}/open_spiel/open_spiel/abseil-cpp -L${HOME}/open_spiel/build -lopen_spiel -std=c++17")
to basically recreate the C++ clang++ compile code and still I get the same error of undefined reference.
I try to include the library and have access to the headers
I cannot figure it out though. I have read that there is a need for a Open_spielConfig.Cmake (or some sort of config.cmake) file to be able to use find_package() in a CMAKE file, howver there doesn't seem to be any kind of Config.Cmake file getting generated.
I have spent hours on this and feel it is a simple thing I am missing out but just can't seem to figure it out. I am hoping someone can help me with this.
Thank you.

Hi @sardanian,
We don't have OpenSpiel setup for this at the moment, we would have to write the necessary CMake meta-files (as you're suggesting) to have find_package work properly. This would be a welcome addition to OpenSpiel.
In the mean time:

Will you need to modify the OpenSpiel code at all? If not, then I suggest you build it at as a dynamically-linked library by following the instructions here. Then all you would need to do in your project is setup the include paths and dynamically link to OpenSpiel, which is fairly easy.
If you need to modify OpenSpiel code but not LibTorch then you can instead do the opposite: compile OpenSpiel to link to the LibTorch library (see here for how to do that).

Hope this helps!

Thank you for this.
I do not need to modify OpenSpiel code at all. However, "Using OpenSpiel as a C++ Library" requires that I compile via clang++. I do not believe there is a way to compile libtorch with clang++ (at least I have not been able to find the appropriate method to do that). Libtorch documentations and tutorials show it being integrated via a cmake process (similar to how OpenSpiel implements libtorch via cmake). Thus I am unable to do this. If there is a way that I am missing, I would love to do this. Ideally I could use cmake to include two libraries (OpenSpiel and Libtorch) and include them as a part of my program.
I can recompile Openspiel with libtorch every time as you suggested in your second option, but I felt there should be a way for me to have a torch library and a openspiel library and integrate both of those into my new program. If this is not possible I could recompile openspiel with libtorch each time, but it just seemed the wrong way to go about it.
Thank you.

Actually, upon further testing, recompiling Openspiel with libtorch doesn't seem the right approach or I can't seem to figure it out. I would like to use CLION and debug my program and so would like to be able to build and add an executable of my file and then debug it. Ideally I can have an OpenSpiel library and a torch library called by the same program via CMAKE. Then I can build via cmake and easily debug as well.

If you do not need to modify the OpenSpiel code, then you can compile it as a shared library. It should not matter whether you produce that shared library with clang++ or g++ (replace all the instances of clang++ with g++ on that page and it will still work), because it's binary/machine code that gets dynamically loaded at run-time. You compile the OpenSpiel shared library once via the instructions above and and then link against separately it in your code. You can still use CLION to debug your programs. But: before continuing, I strongly suggest you read a tutorial on dynamic linking/libraries. Here's an overview: https://www.learncpp.com/cpp-tutorial/a1-static-and-dynamic-libraries/. To see how to setup CMake for dynamic linking against a shared library, you can see our example of using OR-Tools (an external optimization library) for linear programming here and here.
As for the second option, there is a working example: our LibTorch AlphaZero code does exactly what you'd want to do. Take a look at the the LibTorch AlphaZero CMakeLists.txt here, the definitions for Torch library here. The path is for LibTorch was chosen by us here.
Hope this helps!

Thank you. I was able to get this resolved. I went through your points and it seems that there was an issue with LibTorch, not OpenSpiel. I had implemented LibTorch first, but for some reason when combined with OpenSpiel it was causing some issues. I eventually got a cmake file working for both of them through your direction. Thank you.

Great! Glad we could help.


fix: remove excessive card padding

When logs-react is implemented as a component, space is valuable, so the padding has been changed on the request/response cards.

looks good, should just add px, because there are other units like em, rem.

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

GitHub release
1.0.5
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


travis: use default ./configure

I'm putting this before my fix to expose SetOutput in the log package.

Closing in favour of #2050


DatabaseCleaner seems not taking care of schema name

https://github.com/Decathlon/tzatziki/blob/c392abc4081b9a88c32e94d940dcde7d093b7cd8/tzatziki-spring-jpa/src/main/java/com/decathlon/tzatziki/utils/DatabaseCleaner.java#L86
Hello,
My db is composed of several schemas. During tests, it happened that when running a single test alone, it worked, but running all tests, some failed that haven't failed when running separately.
I have seen that my table were not truncated. I tried to used your DatabaseClean.clean(dataSource, "schemaname") but it would not work, telling me for example relation "XXX" does not exist. Indeed running the sql line TRUNCATE XXX RESTART IDENTITY CASCADE would not work, but specifying the schema TRUNCATE SCHEMANAME.XXX RESTART IDENTITY CASCADE would make it work.
I copied your DatabaseClean class locally and updated this line to add the schema name, and it worked finally for me:
action.accept(jdbcTemplate, "%s.%s".formatted(schema, table));

Can you see for it and update if needed ?
Kind regards

Hi, thanks for rising this issue, I can see there is some quick adjustment to handle properly multiple schema in a datasource. I'm going to do the adjustments soon.

v1.6.0 should resolve your issue. You can specify a list of schema to clean in your initializer :
SpringJPASteps.schemasToClean = List.of("public", "library", "store");

Hello, thanks for the fix. I will try that and keep you updated.


Refactor RNN encoder

Codecov Report

Merging #151 into master will increase coverage by 0.00%.
The diff coverage is 69.73%.

@@           Coverage Diff           @@
##           master     #151   +/-   ##
=======================================
  Coverage   39.14%   39.14%
=======================================
  Files          85       85
  Lines       10147    10164   +17
  Branches     2130     2138    +8
=======================================
+ Hits         3972     3979    +7
- Misses       5977     5981    +4
- Partials      198      204    +6

Impacted Files
Coverage Δ

neural_sp/models/seq2seq/encoders/transformer.py
79.53% <0.00%> (ø)

neural_sp/models/seq2seq/encoders/subsampling.py
83.69% <53.12%> (-16.31%)
:arrow_down:

neural_sp/models/seq2seq/encoders/rnn.py
82.83% <83.72%> (+1.71%)
:arrow_up:

Continue to review full report at Codecov.

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


USB devices not showing

How to show the list of devices throught the USB?

Hey @smaharjan974 !
Thanks for reaching out about this. The library does not include an API for listing the USB devices and it instead prints to a single connected printer via USB.
If you have having trouble printing to a printer connected over USB make sure to check the following:

You are using an OTG cable.
Your device support OTG.

In my experience if you connect the USB cable while the printer is on, the device will not find the printer.
Hope this helps but please don't hesitate to reach out anytime if you are still having any trouble,

Hello @CodeMinion
I have tired as you said.
And My device support the OTG and i have successfully connect with another dependencies.
Can you show the demo code to print through USB?
I am using QL_800 brother printer.
Future<List> getMyNetworkPrinters() async {
Printer printer = new Printer();
PrinterInfo printInfo = new PrinterInfo();
printInfo.port = Port.USB;
await printer.setPrinterInfo(printInfo);
return printer.getNetPrinters([
  Model.QL_1110NWB.getName(),
  Model.PJ_773.getName(),
  Model.QL_800.getName(),
  Model.QL_810W.getName(),
  Model.QL_820NWB.getName()
]);

}
From this above code i always got No printer found.

Hey @smaharjan974 !
After you set the port to USB you should just be able to call one of the print functions. You are not getting any printers because the getNetPrinters() function is for getting a list of printers to connect over WiFi.
Here is a short sample for printing over USB using a QL-1110NWB and a W103 roll.
var printer = new Printer();
var printInfo = PrinterInfo();
printInfo.printerModel = Model.QL_1110NWB;
printInfo.printMode = PrintMode.FIT_TO_PAGE;
printInfo.isAutoCut = true;
printInfo.port = Port.USB;
printInfo.labelNameIndex = QL1100.ordinalFromID(QL1100.W103.getId());
await printer.setPrinterInfo(printInfo);
PrinterStatus status = await printer.printImage(picture);


[DateRangePicker] Support time for start and end dates -> DateTimeRangePicker

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Summary 💡
Not sure how this should be implemented according to the material design specs exactly but I assume you guys have a better and more conceivable idea than me. 😁
Examples 🌈
Ant Design, for instance, has support for this ->

Motivation 🔦
My company has recently bought the MUI X PRO license and despite it's clear benefit (specially DataGridPro) we were expecting a more complete DateRangePicker.
Note that we are aware that it's still in the lab but I think there is a real need to have the option to select the time along with dates to formulate a date range.
A common use case is to define a period of time where some type of user events have occured. Be it activity reports from a user, be it the amount of money the user has spend during that exact period. There are endless possibilities.
Is this something that is on your roadmap? I haven't found any info regarding this question.
Thank you! :)
Other requests

https://www.notion.so/mui-org/Sharechat-Prateek-Amar-2aee32660fb044df8bf0337f4f357feb#e09c842ed3da47409bfe7257e5b7dac5

I was looking for something like this in the docs and I couldn't find it as well.

I agree. Would be great to have that functionality

I have the same question :)


Thermal Cam app using Trail Sense support email

It appears there's a "Thermal Cam" app that people are downloading that is using the Trail Sense support email address. Based on the error messages, this app is based on Trail Sense's codebase as of 5.10.0 but the developer did not switch over the support email address.
I can't find this app in order to contact the developer and am hoping that someone who submitted an error email will let them know for me. But if anyone can find this app, please let me know and I will reach out to them.

I will stop replying to these emails at the end of the week - if the developer of Thermal Cam sees this, please address this.

One user who reported an error said they would let the developer know for me.

No longer going to let users of Thermal Cam know their emails weren't received (getting about 5-10 a day). Not sure if the developer was informed, but I sent out a lot of emails to their users and gave a full week.

It looks like the developer released a new version called Thermal Pro.
Developer of this app, please fix this. I will not be responding to your users and the app is crashing a lot.


Removing temp. design guidelines from docs

no issue.
At early stages of the project I used these pages temporarily to communicate design components and guides. We can remove it.

Deploy preview for tryghost ready!
Built with commit 90caadbb1687aa976c46bca0c94567fd9b8cac09
https://deploy-preview-25--tryghost.netlify.com


History incorrectly states "No difference"

Description
The account balance changed each time I do a request because I am using the same account to pay for the query. The history window states "No difference", but when I double click on the request it highlights the balance as it did change. It should display that the balance changed between the two info requests.
Steps to reproduce
See above
Additional context

Hedera network
testnet
Version
0.4.0-alpha.2
Operating system
No response

Not a bug. I left the balance out on purpose, since there is little value in showing that it has changed (unless this is an account that has never been used, it would always change). It is easy to add if needed.

what if you did a transfer and got the info the see view the balance change?
I think the purpose of the table is to display any changes to the fields and we should highlight them each time even if it is the balance that is deducted from paying a transaction fee.

There are more efficient ways to see the balance change. As a matter of fact I would say that using a getInfo for the balance is a poor use of the query, since we have a free getBalance query. To include the balance in the history is redundant, in my opinion. That being said, adding it is no trouble.
I think, however that we might want to discuss a "balance history" option, be it a table of available historical balances or a graph, like Hash-Hash.

yes, but for the purpose of getting new account info, it should display all fields that changed and not omit any fields. Otherwise, the highlighting of the balance change when you see the comparison view does not match the "No difference" text you see in the overview as the blue highlighting of the balance is letting the user know there was a change.
sure, we can look at other options.

Yes, it needs to show all changes, including balances.
On Thu, Nov 4, 2021 at 12:48 PM SimiHunjan @.***> wrote:

yes, but for the purpose of getting new account info, it should display
all fields that changed and not omit any fields. Otherwise, the
highlighting of the balance change when you see the comparison view does
not match the "No difference" text you see in the overview as the blue
highlighting of the balance is letting the user know there was a change.
sure, we can look at other options.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/hashgraph/hedera-transaction-tool-demo/issues/121#issuecomment-961279165,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDBYW7D3HL2EUML7N22DFDUKLIQRANCNFSM5HKLEKTQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Fix logos_path in generated code

Nice! Could you add a small test that would break if your fix was not present?

I've already considered it, but unfortunately I don't think it's that easy.
The problem is that you need a crate that has access to logos without having logos directly as a dependency.
For example:

crate logos_reexport depends on logos and reexports logos
crate logos_use depends only on logos_reexport and uses logos_reexport::logos as logos_path

That should make sure it does not break again, but it adds two new crates to the repository just for this. If that's okay, please tell me where to put them and I can do that.
(Maybe there's something I'm missing, but I think this is the only way.)

Hello @jannik4, sorry for the late reply, but I needed to think a bit about this :-)
So I don't think we really need to create a new crate, depending on how cargo actually resolves dependencies.
I have two ideas:

Try to create a submodule mod mylogos and re-export logos inside it:// any tests/tests/*.rs file, or actually could also be inside some #[cfg(test)]
mod mylogos {
  pub use logos as logos_path;
}

or you can also create a custom module in the tests directory.
Because the parent tests directory is actually a crate, you could actually re-export logos in tests/src/lib.rs.

The only doubt I have is whether the tests will fail without your fix, because cargo may be smart enough to see that your re-export points to the same logos as ::logos.
What do you think?

Isn't this exactly the same as the already existing test tests/tests/crate_.rs? The problem here is that ::logos is always accessible, so if the derive is missing the custom path at one point it continues to just work.

Hum ok I guess this isn't as easy as I would have hoped, but not problem I will merge this like this then ;-) Thanks for your work!


Add github owners to email notifications

Currently there is a static list of people that the issue notifications are sent to.  This issue is tracking the need to add owners of the issues to the to: or cc: line for these notifications.

Just wanted to clarify this. Did you want to send the issue list for the entire repository to anyone with an active issue, or did you want to send a list tailored to each user?

@AlexGhiondea, can you clarify the ask here?

We should send the email to anyone who has an issue assigned to them that is flagged in any report.
At the core, this is about figuring out how to map GitHub handles to email aliases. Once we can do that we should be able to construct the list of recipients to which to send the email.

At the core, this is about figuring out how to map GitHub handles to email aliases. Once we can do that we should be able to construct the list of recipients to which to send the email.

We already have code that does this in our pipeline notifications tool https://github.com/Azure/azure-sdk-tools/blob/master/tools/notification-configuration/common/Helpers/GitHubNameResolver.cs. We should try to reuse that.

@weshaggard ... yep, I saw that. Probably obvious but I'm assuming this notification mechanism is to overcome people disabling the built-in GitHub notification mechanism? :)
There are also a few reliability issues in GitHub Issues with rate limiting at the moment: https://github.com/Azure/azure-sdk-tools/issues/818

As part of some preparation for implementing some features like this I've done some restructuring of the GitHub Issues code base:
https://github.com/Azure/azure-sdk-tools/pull/842

I am closing this. Why do you ask?
The Java team recently adopted a pattern where they added one of their team aliases to the configuration so that anyone on the team gets a notification when the report is run. Given that we don't do personalized reports per person based on the paths being modified in PRs, this is probably sufficient to make sure that the right group of people that do triage get the report.
@AlexGhiondea do you agree?


add parameter for building scale-up

Rename the speed parameter to outspeed, and add a new parameter inspeed – this changes the speed at which buildings scale up as you zoom in.
inspeed is currently set to .1, or one-tenth of a zoom level. Adjust to taste.
Fixes #124.

Nice!


Add support for addons that are not in all k8s versions to KDM data generation

What kind of request is this (question/bug/enhancement/feature request):
enhancement
In https://github.com/rancher/kontainer-driver-metadata/pull/76, we relaxed the constraint for addons that are not in all k8s versions. This now results in a warning, which completes generating data.json but still leaves a warning where no action is really needed. The main problem is that we don't have any logic currently to have a "introduced in" or "available since" to make sure we can still have the validation that the templates are present, but then only for the version they were introduced in and higher.

This is solved, see linked PRs


NGINX File dependency error

@hnyman

are you sure you have updated the package feeds?

Situation to openwrt-18.06...no master.
Yes - updated feeds

openwrt-18.06 doesn't have the new changes to nginx... think that's the problem...
instead luci have the new package....
(so i think luci package should be dropped or nginx changes should be pushed upstream)

... well ... there is no change for 18.06...

https://github.com/openwrt/luci/commit/14c73faf313a85f9a70b21b1afd84a47e28a93c0


Handle registrations with bad proofs of possession

At the moment validators with a bad proof of possession are asserted away in the add_validator function. One possible way to handle bad proofs of possession is to add a corresponding validator entry with status PENDING_WITHDRAW.

Ah, the assert is supposed to represent "the entire block that contains that registration is invalid".
IMO as a general principle, we should not be allowing no-op messages to get included in the chain as much as possible.

Does this mean that if someone screws up the PoP their 32 ETH deposit goes in a black hole?

Wouldn't it be possible to submit PoP to the registration contract once again? Maybe there are any drawbacks related to that?

Yeah, I'm open to it. I'd say this is a "nice to have", not a "must have".

Agree. You can screw yourself over by submitting a bad withdrawal address already.

What about:

Have the "deposit contract" on the PoW chain be literally a burn address (e.g. the address 0xE7H20 for "ETH2.0"). In particular, no proof_of_possession, withdrawal_shard, withdrawal_address or randao_commitment is provided, just ETH.
Introduce SpecialRecords to use the burnt ETH (for registrations, for top-ups, etc.)

This potentially kills several birds with one stone:

No PoW contract has to be written.
The above issue with bad proofs of possession becomes a non-issue.
The registration logic is decoupled from the PoW chain. In particular, upgrades to the registration logic do not require touching the PoW chain.
The same infrastructure on the PoW chain can used for both registrations and top-ups.
The registration logic being implemented fully on the beacon chain means it can be reused for "internal registrations" to solve issue 10 here. (IMO having ETH stuck for an undetermined amount of time after deregistration is far from ideal.)

Moving registration logic to the beacon chain makes it possible to feature shards with validator registration. Should be a straightforward solution for that 👍

With the "deposit" contract, how does a validator utilize the eth1.0 ETH on eth2.0?  If we use the eth1.0 pub-keys as the "right" to utilize the burned ETH, then we need to support ECDSA-verify on the beacon chain to verify that the SpecialRecord is indeed related to eth1.0 account that deposited the eth.
Also, we'd be consuming SpecialRecords that point to successful TXs on the PoW chain rather than ordered logs from a contract on the PoW chain. This isn't radically different, but it introduces some required beacon chain accounting related to what has or hasn't been consumed from the eth1.0 deposit addr.
I like how this naturally translates to keeping the same interface for shard chain deposits, but there are certainly some othercomplexit

To address your point about the beacon needing to support ECDSA-verify what about having a minimal contract where the only argument is pubkey?


Any option to specify the Symbols?

Hi,
Any option to specify which "Symbols" or "Special Characters" to be allowed?

Hello, there is no option to specify which special characters should be allowed at the moment.

Okay, thanks for the prompt response @knicola 🚀

I can't think of a valid reason why limit which symbols one can pick for their password so I'll be closing this ticket for now.

Commenting cause I've found a reason that might be valid enough to consider 😄 @knicola
The regex in yup-password for special symbols allows for more than popular identity providers like AWS Cognito do. I've encountered a problem when trying to pass £ as a symbol. yup-password indicated that yes, everything is fine. Cognito threw an error, breaking my app.
Cognito uses the same subset as OWASP proposes (^ $ * . [ ] { } ( ) ? - " ! @ # % & / \ , > < ' : ; | _ ~ ` + = and spaces). If there was a way to pass an array of symbols, it could be used with applications using AWS services on the backend.

Sorry for the delay, I'm slowly getting to this.
Just wanted to drop a note here for anyone wanting to limit input to OWASP-friendly symbols, such Congito users:
I think limiting input to ASCII (non-control) characters should be enough, ie [\x20-\x7E]*. see ref table.
I could perhaps add a helper method to limit input to ascii only, ie .password().onlyASCII().


Where is DITA OT Slack channel

A DITA OT Slack channel is mentioned in the last video of the 2015 DITA OT Day. It's not on the dita-ot.org home page or anywhere else I can find. How do I find it?

I believe this to be a bug, not a question about using DITA-OT.
I read the CONTRIBUTING file./not really, I can't find this either. I did look for it.

Possible Solution
Add it to the home page of dita-ot.org.

Move to dita-ot/docs issue tracker.

ok thanks


How to tap a screen point (pixel) in flutter driver test

I want to write a test script for tapping screen point in flutter integration testing. Is there any way to achieve this?

Hi @Nandhini-Ravichandran
This platform is not met for assistance on personal code.
Please see https://flutter.dev/community for resources for asking questions like this,
you may also get some help if you post it on Stack Overflow.
Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
Thank you


Links to "section" headers don't scroll to the right position

Clicking on links to "sections" scrolls to the section in such a way that the section header is not visible (it's probably hidden by the header). Example links:

Dataset Overview Page
Documentation for s3_metadata_path

Maybe something to keep in mind is if this may be automatically fixed when switching to the sphinx-immaterial theme (#889)?

hey @dgmccart i assigned you to this bug, not sure if it's needed after we switch to the new theme. please close out if the theme switch fixes this bug, or feel free to reassign to Melissa if you think she can help

Thanks for the tag! This item is on the list for Melissa's work. We'll see if just changing the theme fixes things, but if not, Melissa can help come up with a solution.


Add required permissions

Can we please add required RBAC permissions, as specifically as possible, for setting diagnostic settings? I assume they vary between where you are sending them (Monitor/storage/EH). Please also include info for sending across subscriptions (i.e. requirement for guest access to other tenants).

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 0ca576e1-fafa-3a02-6d29-394f342bc737
Version Independent ID: a6a83de5-41fd-2dce-eb86-cee6c086c07d
Content: Create diagnostic setting to collect logs and metrics in Azure
Content Source: articles/azure-monitor/platform/diagnostic-settings.md
Service: azure-monitor
Sub-service: logs
GitHub Login: @bwren
Microsoft Alias: bwren

I see we have a good resource for RBAC here.
https://docs.microsoft.com/en-us/azure/azure-monitor/platform/roles-permissions-security
I'll just close but you can consider adding a note/link to that page, thanks.

@dcbrown16 Thanks for the feedback.
@bwren FYI.


[text-geometry] Compatibility with 0.7.0+

I duplicated the vaporwave demo and swapped the version of A-Frame to the latest, which seems to break the component.
https://glitch.com/edit/#!/certain-visitor

Thanks for filing, if anyone could take a look at it, that'd be great.

Interesting, I can get it to work locally. Might be an issue with glitch? Feel free to close.


Fatal error: Uncaught TypeError: Return value of StaticHTMLOutput\CrawlQueue::getTotalCrawlableURLs() must be of the type int, null returned

Wordpress 5.5.1 (Multisite)
Plugin Version 6.6.21

When i open "/wp-admin/admin.php?page=statichtmloutput" one multisite works without problems, the second one shows:
"There was a critical bug on your website. Please check your website administrator email address inbox for further instructions."
(translated from german)
Log:
`

1.
StaticHTMLOutput\CrawlQueue::getTotalCrawlableURLs()/var/www/html/wp-content/plugins/static-html-output-plugin/src/CrawlQueue.php:99

| StaticHTMLOutput\CrawlQueue::truncate()/var/www/html/wp-content/plugins/static-html-output-plugin/src/Controller.php:189
| StaticHTMLOutput\Controller->detect_urls()/var/www/html/wp-content/plugins/static-html-output-plugin/src/Controller.php:218
| StaticHTMLOutput\Controller::renderOptionsPage('')/var/www/html/wp-includes/class-wp-hook.php:287
| WP_Hook->apply_filters('', Array)/var/www/html/wp-includes/class-wp-hook.php:311
| WP_Hook->do_action(Array)/var/www/html/wp-includes/plugin.php:478
| do_action('toplevel_page_s...')/var/www/html/wp-admin/admin.php:259
| {main}
thrown in /var/www/html/wp-content/plugins/static-html-output-plugin/src/CrawlQueue.php on line 86
`

Oh a further log entry mentions ther're missing database entries for some reason.. i'll try to reinstall the plugin though:

WordPress-Database-Error Table 'wordpress.wp_2_statichtmloutput_urls' doesn't exist für Abfrage SELECT COUNT(*) FROM wp_2_statichtmloutput_urls von do_action('toplevel_page_statichtmloutput'), WP_Hook->do_action, WP_Hook->apply_filters, StaticHTMLOutput\Controller::renderOptionsPage, StaticHTMLOutput\Controller->detect_urls, StaticHTMLOutput\CrawlQueue::truncate, StaticHTMLOutput\CrawlQueue::getTotalCrawlableURLs

Okay, a plugin reinstallation fixed this!


Build pipeline

The build pipeline builds the sass and copies the templates and assets to the patternsExport directory. Can be easily extended to build js, run tests etc when necessary.
Question @thewilkybarkid @stephenwf : should the patternsExport directory be committed to this repo, or built directly by whatever uses this repo?

If we want to publish as a Bundle to Packagist, it will have to be in source control (assets included). But we could put that in a read-only repository and have it done by CI. May also need a small amount of PHP boilerplate to get it into a Symfony Bundle format.
Is this repository the common ancestor to the eLife and Libero extensions. Or is this the Libero extension itself? If its the common ancestor, it could publish to NPM to be used in the extensions (the source and the distribution folders).

Just passing by for now, but anything that is build here would benefit by a pTravis CI](https://docs.travis-ci.com/user/languages/javascript-with-nodejs/) being setup; even without pushing anything, it independently checks running the code in a new environment. #worksontheirmachine

(I can help with that in case it's needed)

@giorgiosironi We should Dockerise from the start (or as close to it as possible!).

If we want to publish as a Bundle to Packagist, it will have to be in source control (assets included). But we could put that in a read-only repository and have it done by CI. May also need a small amount of PHP boilerplate to get it into a Symfony Bundle format.

Ideally I'd like to separate the assets from the bundle, but pragmatism might stop that. We switched https://github.com/elifesciences/patterns-php to going through containers which is really straightforward.

Dockerise from the start

I agree building in Docker should allow to reproduce the build locally, rather than relying on Travis CI node environment. I'll wait for this to be in master however before I can help with that.

@giorgiosironi This is merged, let the Dockerising begin! :-)