Possible Memory Leak after device removal

When the bluetooth device is removed using the adapter.RemoveDevice() API call, suspect that the event listeners on the device remains. So, to avoid the build up of event listeners, the statement device.removeAllListeners("PropertiesChanged") and device.removeAllListeners("removeListener") is also executed as well.
However, the below issue appears after a some time:
(node:530) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 removeListener listeners added. Use emitter.setMaxListeners() to increase limit
(node:530) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 PropertiesChanged listeners added. Use emitter.setMaxListeners() to increase limit
(node:530) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 PropertiesChanged listeners added. Use emitter.setMaxListeners() to increase limit

The scenario is to remove unwanted devices from accumulating in the Bluez Cache.
NOTE: Even if the listeners are not removed while removing the device then also the above warning appears.
Appreciate your help in this regards.

Can you please try dbus-next branch and see if the issue persists?
npm install git+https://github.com/WaeCo/node-bluez#dbus-next bluetooth-socket

@WaeCo : Any workarounds using the dbus library ?
How can one avoid these memory leaks ?

Upon investigating further, below is the probable root cause for the memory leak.
stack: 'MaxListenersExceededWarning: Possible EventEmitter memory leak detected.
11 removeListener listeners added. Use emitter.setMaxListeners() to increase limit
at _addListener (events.js:280:19)\n    at module.exports.addListener (events.js:297:10)
at Device.DbusInterfaceBase.on (/home/ubuntu/node-bluez/lib/DbusInterfaceBase.js:33:33)
at emitTwo (events.js:126:13)\n    at Device.emit (events.js:214:7)
at _addListener (events.js:249:14)\n    at Device.addListener (events.js:297:10)
at new DbusInterfaceBase (/home/ubuntu/node-bluez/lib/DbusInterfaceBase.js:36:14)
at new Device (/home/ubuntu/node-bluez/lib/Device.js:4:1)
at Bluez.getInterfaceInstance (/home/ubuntu/node-bluez/lib/Bluez.js:318:31)',

Appreciate your help.

You you provide an example that produces this issue?

Below is the code used to reproduce the memory leak issue:
var async = require('async');
var Bluez = require('./node-bluez');
var bluetooth = new Bluez();

var deviceList = [];
var bleAdapter;

function updateDeviceList(address, properties) {
    for (let device of deviceList) {
        if (device.address === address && (properties.RSSI || properties.TxPower)) {
            device.RSSI_Info = properties.RSSI;
            device.txPower = properties.TxPower;
        }
    }
}

function clearBluezCache() {
    return new Promise(function (resolve) {
        async.eachSeries(unwantedDevices, function (address, next) {
            bluetooth.getDevice(address).then((device) => {
                device.removeAllListeners();
                bleAdapter.RemoveDevice(device).then(() => {
                    console.info('Removed device: ', address, ' from cache');
                    next();
                }).catch(() => {
                    console.info('Error in removing device: ', address, ' from cache');
                    next();
                });
            }).catch(() => {
                console.info('Cannot Fetch Device: ', address);
                next();
            });
        }, function () {
            resolve();
        });
    });
}

bluetooth.on('device', (address, props) => {
    bluetooth.getDevice(address).then((device) => {
        if (device) {
            if ('function' === typeof device.ManufacturerData) {
                device.ManufacturerData().then((manufacturerAD) => {
                    if (manufacturerAD && parseInt(Object.keys(manufacturerAD)[0]).toString(16) === '445') {
                        if (props.Name === 'SAMSUNG') {
                            let bleDev = {};
                            bleDev.address = address;
                            bleDev.name = props.Name;
                            bleDev.RSSI_Info = props.RSSI;
                            bleDev.txPower = props.TxPower;

                            console.info('Device Found: ', bleDev);
                            deviceList.push(bleDev);
                        }
                        else {
                            console.info('Non Supported Variant for Device: ', address, variant);
                            unwantedDevices.push(address);
                        }
                    }
                    else {
                        console.info('Non Supported/Non Siemens Device: ', address);
                        unwantedDevices.push(address);
                    }
                }).catch(() => {
                    console.info('No Manufacturer Data: ', address);
                    unwantedDevices.push(address);
                });
            }

            device.on('PropertiesChanged', (chgProps) => {
                console.info('[CHG] Device: ', address, chgProps);
                updateDeviceList(address.toString(), chgProps);
                if (chgProps.Connected !== undefined && chgProps.Connected === false) {
                    device.Disconnect().then(() => {
                        console.info('[CHG] Device: ', address, ' removed');
                    }).catch(() => {
                        console.info('[CHG] Device: ', address, ' removed error');
                    });
                }
            });
        }
    }).catch(() => {
        console.info('Cannot Fetch Device: ', address);
    });
});

function bluetoothScan(adapter) {
    return new Promise(function (resolve, reject) {
        adapter.StartDiscovery().then(() => {
            console.info('Scan Started. Discovering Near by devices...');
            unwantedDevices = [];
            setTimeout(() => {
                adapter.StopDiscovery().then(() => {
                    console.info('Scan Stopped');
                    clearBluezCache().then(() => {
                        console.info('Successfully removed unwanted devices in scan');
                        resolve();
                    }).catch(() => {
                        console.info('Error in removing unwanted devices in scan');
                        resolve();
                    });
                }).catch(() => {
                    console.info('Error to stop scan');
                    reject();
                });
            }, 15000);
        }).catch(() => {
            console.info('Error to start scan');
            reject();
        });
    });
}

function bluetoothInit() {
    bluetooth.init().then(() => {
        bluetooth.getAdapter('hci0').then((adapter) => {
            bleAdapter = adapter;
            console.info('Bluetooth Adapter Found');
            setInterval(() => {
                bluetoothScan(adapter);
            }, 30000);
        }).catch((adapterFetchError) => {
            console.info('Bluetooth Adapter Not Found: ', adapterFetchError);
        });
    }).catch((initError) => {
        console.info('Error in initializing Dbus and Interfaces: ', initError);
    });
}

bluetoothInit();

This code scans the devices every 30 seconds and removes unwanted devices from the bluez cache and removes its associated listeners.
Request you to point out the issue with this code. Your help is appreciated.

Thanks, i found the issue.
PropertiesChanged listeners where not unregistered correctly in this case.
However in your code, do not use device.removeAllListeners(); since this will also remove internal listeners and break thinks.
Change this line to device.removeAllListeners("PropertiesChanged"); to remove only listeners registered by your application.
Please try current master to see if its fixed for you.

@WaeCo : Thanks so much for the quick fix. I tested for 6 hours, so far working fine.


pie changeData from 空数据 to real available data, will become black

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Reproduction link
https://riddle.alibaba-inc.com/riddles/28ff2cea
Steps to reproduce
https://riddle.alibaba-inc.com/riddles/28ff2cea

Environment
Info

g2
4.1.7

System
-

Browser
-

解决方案：业务层上从空数据转变的话，先不使用 changeData

已经b被解决。


ShiftControlM no longer an option? Can't send to Continue

Before submitting your bug report

[X] I believe this is a bug. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that reports the same bug
[X] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS:Windows11
- Continue:latest (just updated) 0.8.2
- IDE:VSCode

Description
Opened VSCode for the first time in about a week.
Continue was no longer in the side panel where I had docked it.
Opened extensions... saw it wanted an update. Updated.
Restart VSCode.
Still no continue. Can't Control+Shit+M to send code to explain any more.
When I highlight code, there is no longer a popup tip telling me I can send to continue.
Is this supposed to be doing this?
Docs/release notes don't say anything about this behaviour.
Basically I can copy/paste into Continue but all the keyboard shortcut functionality is gone and the main github page doesn't have a link to release notes or anything so simple to find as that, so I don't know if this is supposed to be changed or not.
To reproduce
To reproduce, uh, try to use it?
Control+Shift+M no longer does anything. I can't tell it to /edit.
I CAN see the Continue window again now, but I can't send any blocks of highlighted code to it.
Log output
No response

@ewebgh33 we've switched to the shortcuts cmd/ctrl+shift+L and cmd/ctrl+L instead of M. Continue is intended to bring up the tutorial again but if it didn't you can always view this and keyboard shortcuts through the help page in the sidebar, or VS Code's keyboard shortcuts page

Thanks that explains it
Definitely didn't bring up the tut again
And didn't see a mention of this when updated in VSCode. No wonder I was confused.

Ok, very good to know! This was exactly the confusion we were hoping to avoid : / I'm going to close the issue but will double check the tutorial so others don't experience the same

Some prompt somewhere is still saying M fyi

@sestinj the website also still states to use the old shortcut. This issue was the only way I was able to figure out to do something different
https://continue.dev/docs/how-to-use-continue


add customizable dynamic tag styles

Fixes #7

Except for the small thing I said, LGTM. Ping me when you remove that line and I'll merge it.

@mvader nice catch, thanks!


Add test covering Result#success?

Codecov Report

Merging #16 into master will increase coverage by 0.80%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master       #16      +/-   ##
===========================================
+ Coverage   99.20%   100.00%   +0.79%
===========================================
  Files           4         4
  Lines         125       125
===========================================
+ Hits          124       125       +1
+ Misses          1         0       -1

Impacted Files
Coverage Δ

lib/active_actions/result.rb
100.00% <0.00%> (+9.09%)
: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 b6cbb87...2f2c257. Read the comment docs.


only stream page-view

resolve #36
Please take a look and review

Thanks a lot for doing this @phonzammi.

No problem

Did you also validate that now useId() produces the same ID on server and on client?

Yes, I did

Before moving on, I have some thing to discuss, sorry, this might be a bit long:
Below condition can bit tricky at some point:
const isSsrDisabled = !pageContext.Page
const page = isSsrDisabled ? <></> : getPageElement(pageContext)

const streamOrString = isSsrDisabled ? dangerouslySkipEscape(renderToString(page)) : await renderToStream(page, { userAgent: pageContext.userAgent })

[x] !pageContext.page mean ssr disabled is true

But, we don't really check if is it stream: httpResponse.pipe(res), or not (which is : res.status(statusCode).send(body)) we actually enforces users to use ssr with streaming or no ssr at all.
That means if users created their on server.js and they use res.status(statusCode).send(body), it just won't work and they will get an error.
I don't have any fix yet, but still digging

That is indeed a concern, I created a new ticket for it: https://github.com/vikejs/vike-react/issues/38. Let's tackle it in an another PR.
If this PR is LGTM for Aurelien, then I'd suggest we merge this.

Published as v0.3.5


Added ref forwarding for Select component

Description
Added ref forwarding for Select component, including the changes necessary to SelectProps in order to not break the Select.stories.tsx file. All the changes where made following the same style used for ref forwarding in TextInput (and TextInputProps).
The startup I work for wants to use this library but for that we need it to work with the react-hook-form project, which needs ref forwarding.
Fixes # (issue)
Lack of ref forwarding on Select component
Type of change
Please delete options that are not relevant.

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

How Has This Been Tested?
Ran "npm run test" and all the tests passed.
I also tried the component as in using it to see how it responds to the changes.
Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] My changes generate no new warnings

Thank you, @juarez-gonza


Features/alcohol unit info

Description
Alcohol unit information card
On what platform have you tested the change?

[ ] Android - Emulator
[ ] Android - Physical device
[x] iOS - Emulator
[ ] iOS - Physical device

Screenshots

Checklist

[ ] I have updated mockServer
[ ] I've added analytics as relevent
[x] I have run npm test
[ ] I have run npm run test:i18n

Looks great! Could you change close this PR and merge into the shared branch for now? shared/diet-study. (When you open the PR you can choose the base branch).
In the shared branch you also have the i18n strings, ready for you.

Looks great! Could you change close this PR and merge into the shared branch for now? shared/diet-study. (When you open the PR you can choose the base branch).
In the shared branch you also have the i18n strings, ready for you.

super super minor, but your info icon doesn't match what I see in Figma -

@abubuwe Made changes based on comments


Update check.rb

PagerDuty teams integration

https://github.com/sensu/sensu-chef/pull/357
and
https://github.com/sensu/sensu-chef/pull/357
two files to change :)

@nonflet The additional check resource attribute can be used for custom definitions attributes. This is to stop attribute "sprawl". Not going to merge this, because pager_team is a custom check definition attribute. Thank you for the PR!


Change draft review header color to yellow/orange

Is your feature request related to a problem?
Since I recolored submitted reviews to green, there is now a conflict with the existing green banner representing a draft review.
Describe the solution you'd like
Color the draft review banner yellow.
Describe alternatives you've considered
Reverting the green back to gray, but it should be green to better match AzDO and societal expectation of what green means (success).
Additional context
Userscript version: v1.1.10

The draft for a reply within a comment thread is still green, but that's OK since it's localized to the top of the comment thread and should not be confusable with any other workflow context. In fact it may be preferable so the same gold color doesn't blend in too much with the rest of the main UI:

And a brand new draft (never before published) still appears to use green for unpublished changes, as opposed to yellow signaling attention required:

In the latest version, I also changed that banner to yellow. Let me know if you see any other color issues!


use provided comp in test_grad.py

Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?

What does this PR do?
This is not directly related to any issue. However, this was needed for #530.
Also, I am not sure if there should be a test case for this. Please let me know if so!
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
⚡

FYI, I have updated type_as_sample in opinfos.py because it was failing a CI test. I passed atol/rtol values that were passed for test_vjp_correctness earlier.


bluetooth: hci: refactored bluetooth hci packet type indicators

Introduced a unified definition for HCI packet type indicators in bluetooth/hci_types.h.
This change streamlines the code in drivers/bluetooth/hci/, reducing redundancy.
Enhances maintainability and consistency across all HCI drivers.

at least not through the hci_types.h header file

Could we have an H4 section in that file? And namespace the defines with _H4 with a comment above stating that other transports might also decide to use this by convention.

@jhedberg, I haven't made changes to h4.c because it uniquely defines #define H4_NONE 0x00, which isn't a standard value, as you pointed out. Similarly, h5.c uses 0x00 for HCI_3WIRE_ACK_PKT. Therefore, I've decided not to modify either file at this stage. Once we finalize a solution, I'll be ready to update and push a new commit to this PR.
The rationale behind this PR is that I observed each driver defining their own similar values due to the absence of a common definition in the header file.

at least not through the hci_types.h header file

Could we have an H4 section in that file? And namespace the defines with _H4 with a comment above stating that other transports might also decide to use this by convention.
edit: and hci_h4.h would also be fine for me.

Both of these options sound reasonable to me. I'd also include a good code comment as part of the definitions, explaining where they come from and why they have wider reusability.

@jhedberg, I haven't made changes to h4.c because it uniquely defines #define H4_NONE 0x00, which isn't a standard value, as you pointed out. Similarly, h5.c uses 0x00 for HCI_3WIRE_ACK_PKT.

Those two defines for the value 0x00 are indeed a special. For the H:4 case it's purely for the driver's internal state keeping, i.e. this is not even part of the HCI transport specification. For the H:5 driver it's something specific to the H:5 transport that isn't really applicable elsewhere.
The transport specifications don't (AFAIK) make any references to each other, so I really haven't seen any problem with having each driver provide their own defines for packet types. The non-standard drivers (of which there seem to be quite many) have gone with the original H:4 values, so for them I'd be fine with putting the H:4 values in a shared header and have the non-standard drivers use those. For standard drivers, however, like H:5, I'd keep separate (driver-internal) defines, since those come from the spec and the spec makes no references to other transports wrt to these values.

@ndrs-pst, could you please apply this improvement, when finalised, to the recently added hci_spi_st.c file ?

@ndrs-pst, could you please apply this improvement, when finalised, to the recently added hci_spi_st.c file ?
OK, got it. I'll rebase and apply to hci_spi_st.c too.

@msmttchr, @HoZHel  ^^

@ndrs-pst, could you please apply this improvement, when finalised, to the recently added hci_spi_st.c file ?

OK, got it. I'll rebase and apply to hci_spi_st.c too.

@ndrs-pst are you still planning to do this change? After that I'd be happy to approve the PR.

@jhedberg I've already implemented the change. Please take a look and let me know if everything looks good for approval. Thanks!


printer redirection bug

Hello, i can't find my printer in my RDP with xfreerdp
I have ubuntu vivid and lastest freerdp
terminal say
LoadLibraryA: /usr/local/lib/freerdp/libprinter-client.so
thanks

@mega-hertz I'd say that you have not compiled with printer redirection. Check your cmake configuration using "ccmake ." in the FreeRDP top directory

I don't understand, i'm sorry.
I tried again to reinstall freerdp with method ifconfig.dk/freerdp
when I type
mega@mega-desktop:~/FreeRDP$ cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSE2=ON
install bug :
-- FreeRDP GIT
-- Git Revision 29de9b6
-- Finding recommended feature X11 for X11 (X11 client and server)
--     Disable feature X11 using "-DWITH_X11=OFF"
-- Skipping recommended feature Wayland for Wayland (Wayland client)
-- Skipping optional feature DirectFB for DirectFB (DirectFB client)
--     Enable feature DirectFB using "-DWITH_DIRECTFB=ON"
-- Finding required feature ZLIB for compression (data compression)
-- Finding required feature OpenSSL for cryptography (encryption, certificate validation, hashing functions)
-- Skipping optional feature OpenSLES for multimedia (OpenSLES audio / video)
--     Enable feature OpenSLES using "-DWITH_OPENSLES=ON"
-- Finding recommended feature OSS for sound (audio input, audio output and multimedia redirection)
--     Disable feature OSS using "-DWITH_OSS=OFF"
-- Found OSS Audio
-- Finding recommended feature ALSA for sound (audio input, audio output and multimedia redirection)
--     Disable feature ALSA using "-DWITH_ALSA=OFF"
-- Finding optional feature Pulse for sound (audio input, audio output and multimedia redirection)
-- checking for module 'libpulse'
--   package 'libpulse' not found
CMake Error at /usr/share/cmake-3.0/Modules/FindPackageHandleStandardArgs.cmake:136 (message):
Could NOT find Pulse (missing: PULSE_INCLUDE_DIR PULSE_LIBRARY)
Call Stack (most recent call first):
/usr/share/cmake-3.0/Modules/FindPackageHandleStandardArgs.cmake:343 (_FPHSA_FAILURE_MESSAGE)
cmake/FindPulse.cmake:11 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
cmake/FindFeature.cmake:31 (find_package)
CMakeLists.txt:608 (find_feature)
-- Configuring incomplete, errors occurred!
See also "/home/mega/FreeRDP/CMakeFiles/CMakeOutput.log".
See also "/home/mega/FreeRDP/CMakeFiles/CMakeError.log".

@mega-hertz this is quite trivial compilation bug, did you follow the wiki to install your compilation env ? Obviously you're missing the pulseaudio dev headers, either disable pulse support or install the corresponding packages.

I find in internet a new method
sudo apt-add-repository ppa:freerdp-team/freerdp
sudo apt-get update
sudo apt-get install freerdp-x11
and It's good ! Printer and gateway ! I'm so happy, 3 days... i go in my bed!

@mega-hertz nice it worked for you. However I just wonder what version you are using now? - Since it looks like the ppa wasn't update for a while.


Bump values in helm chart

This should've been done before the tag + release of v0.4.0 but was missed. We agreed in standup on 2023-02-03 that it was fine to release the container images built from the v0.4.0 tag and use this commit for releasing the chart.

I guess you need to run make update-helm-docs?
Also this doesn't look right https://github.com/cert-manager/trust-manager/blob/main/hack/update-helm-docs.sh#L28

Thank you @SgtCoDFish
/lgtm
/approve


Upgrade deprecated runtime nodejs8.10

CloudFormation templates in amazon-transcribe-news-media-analysis have been found to include a deprecated Lambda function runtime (nodejs8.10). The affected templates have been updated to a supported runtime (nodejs10.x).
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@svozza sorry, it's a bot making the pull requests and it's not 100% accurate. I coded it to switch out v8 for v10 (as v12 isn't supported by Lambda@Edge), assuming all the resources were Lambda functions. Unfortunately, that logic doesn't hold true for layers. I'll make the update manually tomorrow when the bot finishes running.

Ah fair enough! Thanks for doing this. :)


GraphQLController - undefined method named "json"

Hi, it looks like there's a bug with GraphQLController
if (!$schemaClass || !class_exists($schemaClass)) {
    return $this->json([
        ['message' => 'Schema class ' . $schemaClass . ' does not exist']
    ]);
}

It should creating a JsonResponse instead, i think?

Packagist is not up to date. I added the repo directly to composer as described here: https://getcomposer.org/doc/05-repositories.md#loading-a-package-from-a-vcs-repository and required "dev-master".


steps have their source code as metadata

As an intrepid user/colleague of garden users, I might find the source code of pipeline steps itself to be insightful/useful. Steps should have a metadata field containing the plain text snippet of their source code.
This could be a first step toward an eventual version-robust solution to #134 (and #132, probably) but is still valuable in the meantime.
Assumptions:

wrapping something from dill.source module is probably the best bet
should be tested against steps defined in .py files, repl session, jupyter notebooks etc

Acceptance Criteria
Given..., when..., then...

closed by #147


Parameterized B-field (+ more TTree validation with MPlex fitting)

The main purpose of this PR is to include the parameterized magnetic field in the simulation of the toyMC, as well as in fitting in MPlex (and also Smatrix fitting for the sake of it).
The calculation is performed once per layer per track, at the start of the propagation.  A simple flag is passed from the given propagation routines to use either the parameterized magnetic field or the static 3.8112 T.  The calculation itself is a second order polynomial in z multiplied by a single scale factor in r^2.
As a reminder, this is the field strength map compared to the static one:
https://kmcdermo.web.cern.ch/kmcdermo/magfield/fieldmap/
I will attach the full benchmarking shortly.  The first results show no change in time to the fitting, where the calculation actually takes place and is timed:
https://kmcdermo.web.cern.ch/kmcdermo/magfield/
Also included in this PR is a number of additions to the TTree validation, useful for Mplex fitting (and therefore for optimization studies).  By using the command line option "fit-val", and compiling with ROOT, we can make some basic residual+pull plots of the fitting at every layer.  Using this to test the magnetic field parameterization in toyMC, things look as expected:
https://kmcdermo.web.cern.ch/kmcdermo/magfield/physics/
(** plot for pt pull had a bug, now fixed in the latest commit --> ignore the title in the plot)

Plots are now updated in linked directory above.  Benchmarking looks fairly standard -- I see the same problems as @mpbl in the endcap building with excessive speedup because of poor single threaded performance.

@dan131riley @osschar I have merged the latest PR from @mpbl, and I can confirm everything compiles.
I will run the benchmarking later, although as already pointed out, benchmarking from before was the same.

@dan131riley I made the small changes as requested.  I also made some other changes from double to float in Hit.h as well.

dump to this PR.  any word?

Sorry, didn't realize you were waiting for me :)


Add LEFT-RIGHT Animation

Describe the feature you'd like
Add an animation for drawable/text to toggle by going the the left and the turn right when meet the Preview edge and vice versa
Also, I will come up with a better name if possible
Would you like to work on the issue?
Yes

I'm afraid the hardware does not have this included inside it. It won't be possible unless the hardware supports it.


supervisors_and_registry.rb doesn't seem to be working correctly

> ruby ./supervisors_and_registry.rb
*** Demonstrating using the Supervisor API directly
We should be in a clean state now: clean
Brace yourself for a crash message...
Uhoh, we crashed the actor...
The supervisor should automatically restart the actor
We should now be in a clean state again: clean
*** Demonstrating using the actor registry
We should be in a clean state now: clean
Brace yourself for a crash message...
E, [2014-05-24T17:30:08.083770 #22395] ERROR -- : Actor crashed!
NameError: undefined local variable or method `oh_crap_im_totally_broken' for #<Celluloid::CellProxy(MyActor:0x80a2ddcc) @state=:dirty>
	./supervisors_and_registry.rb:16:in `broken_method'
	/Users/samuel/Documents/Programming/Internet/celluloid/lib/celluloid/calls.rb:26:in `public_send'
	/Users/samuel/Documents/Programming/Internet/celluloid/lib/celluloid/calls.rb:26:in `dispatch'
	/Users/samuel/Documents/Programming/Internet/celluloid/lib/celUhoh, we crashed the actor...
The supervisor should automatically restart the actor
luloid/calls.rb:63:in `dispatch'
	/Users/samuel/Documents/Programming/Internet/celluloid/lib/celluloid/cell.rb:60:in `block in invoke'
	/Users/samuel/Documents/Programming/Internet/celluloid/lib/celluloid/cell.rb:71:in `block in task'
	/Users/samuel/Documents/Programming/Internet/celluloid/lib/celluloid/actor.rb:362:in `block in task'
	/Users/samuel/Documents/Programming/Internet/celluloid/lib/celluloid/tasks.rb:55:in `block in initialize'
	/Users/samuel/Documents/Programming/Internet/celluloid/lib/celluloid/tasks/task_fiber.rb:15:in `block in create'
D, [2014-05-24T17:30:08.180101 #22395] DEBUG -- : Terminating 7 actors...
W, [2014-05-24T17:30:08.180710 #22395]  WARN -- : Terminating task: type=:exit_handler, meta={:method_name=>:restart_actor}, status=:callwait
	Celluloid::TaskFiber backtrace unavailable. Please try `Celluloid.task_class = Celluloid::TaskThread` if you need backtraces here.
./supervisors_and_registry.rb:78:in `<main>': undefined method `state' for nil:NilClass (NoMethodError)

Looks like a race condition in the actor being restarted. I pulled and it seems to fix it 100% of the time for me.

Can still reproduce this.

Moved to: celluloid/celluloid-supervision#3

For posterity, I'll mention the cause and the workaround:
The member.restart call in Supervision::Group#restart_actor needed to be wrapped in exclusive {} otherwise Member's assertion of @actor = nil zaps the entry in @actors ( and changing the entry in the registry is redundant, since the entry in in the registry is @actor ... but calling member.restart within an exclusive block solves this without any negative effects.


Make sure the components and actors and designer-friendly

Designer-friendly, meaning that they are working in Blueprints.

It's enough for now. Gotta finish that course someday !


Table of Contents (TOC) for Jupyter Notebooks

Feature: Notebook Editor, Interactive Window, Python Editor cells

Description
For large Jupyter notebooks having a table of contents is absolutely necessary, but a pain to keep updated yourself using HTML tags. Jupyter notebook and JupyterLab both support tables of contents through extensions. Is it possible for you to add support for this in VS Code? Without it many of us who use Jupyter for large scientific notebooks can't justify switching over to VS Code for writing notebooks, even though we love the environment.
Thank you!

@rchiodo , I saw that you guys migrated to vscode-jupyter. That worries me because the functionality to use .py files as Notebooks just by simply adding cells via # %%  was awesome, it combined the best of both worlds (script and notebook).
Is that going to be lost? Correct me if I'm wrong please. Thank you

+1 for TOC in VS code

@rchiodo , I saw that you guys migrated to vscode-jupyter. That worries me because the functionality to use .py files as Notebooks just by simply adding cells via # %% was awesome, it combined the best of both worlds (script and notebook).
Is that going to be lost? Correct me if I'm wrong please. Thank you

Our existing functionality (you're describing the interactive window) will continue to work for python. We plan to expand the interactive window to also work for other languages.

ToC is a brilliant idea 🙌

vote for the toc feature of jupyter in vscode

+1 on TOC. I prefer working with vscode rather than jupyterlab especially when managing a whole project and writing multiple python scripts aside from notebooks. Besides, I feel like it's easier to navigate if I have my workspace in a different window than my navigator where I usually do research. Anyway, I would really love an extension or update concerning TOC in vscode

+1 on TOC. I prefer working with vscode rather than jupyterlab especially when managing a whole project and writing multiple python scripts aside from notebooks. Besides, I feel like it's easier to navigate if I have my workspace in a different window than my navigator where I usually do research. Anyway, I would really love an extension or update concerning TOC in vscode

+1 on ToC

+1 on ToC

+1 on ToC

+1 on ToC

As an FYI, this is present in the 'outline' view if you use VS code insiders:

You should be able to jump around to different markdown cells and code cells under those markdown cells. It's still a work in progress, but the basic functionality should be working.

As an FYI, this is present in the 'outline' view if you use VS code insiders:

You should be able to jump around to different markdown cells and code cells under those markdown cells. It's still a work in progress, but the basic functionality should be working.

Is there any idea when this outline view would be available in the main VS Code build?

Is there any idea when this outline view would be available in the main VS Code build?

Sorry, but that's likely months away. We're working on getting the new editor to have parity with the old one. Once that's ready we're going to turn on an experiment to try it for some small set of people. Assuming that goes well, then we'd slowly roll it out to more and more folks.

It's a great idea to present TOC in the outline view.
I really want to see TOC in jupyter extension.

That would be a neat feature. Thanks in advance. :)

If possible, I suggest to have this TOC available for .py files with percent markup. I guess for that you'll need to have the user select which kind of "Outline" view is of interest - the one for regular code files (which will not pickup e.g. markdown cells), or the one adjusted for notebooks.
My use case - in our team we manage a big .py file that acts as a sort of "catalog" of useful and relatively independent cells. This has to go under source control for version management and collaboration. The typical workflow is then to open an Interactive Window and execute a few of the cells of interest. So for finding these cells in the large file the described TOC is useful.

@syagev , yes, I miss the TOC for .py files very much

@syagev can you enter a separate issue for TOC for python files? I believe this item is going to eventually just be closed when we have fully switched to the VS code notebook implementation but capturing TOC for python files sounds useful too.

+1 on ToC

This is available today with Native Notebooks in VS Code Insiders!
Download to try it out today :)

This is available today with Native Notebooks in VS Code Insiders!
Download to try it out today :)

How does it differ from the existing outline view which is already implemented in both stable/insiders? I didn't notice any difference. Am I'm looking at the wrong place?

Hope the issue to be closed soon!

@claudiaregio. Thank you for the improvement! What I was hoping for was a table of contents with numbering that appeared in both the outline and the notebook. Perhaps this is possible and I just don't know how to do it. Apologies if my oversight.

@claudiaregio. Thank you for the improvement! What I was hoping for was a table of contents with numbering that appeared in both the outline and the notebook. Perhaps this is possible and I just don't know how to do it. Apologies if my oversight.

Sorry but numbering is not automatic. You can enter a feature request on vscode  to add numbering, or you can kinda cheat and add them yourself. Note that any numbers rendered by the markdown renderer don't show up though. You have to add them in such a way that they're not considered a numbered list by the markdown renderer:

@XiaomoWu If you are seeing this in both insiders and stable that means you have been opted into the Native Notebooks experiment so you are all set for now :)

Would numbered ToC need to be a separate request? Either way I might install Insiders just to try this out because it's one of my last "must-haves" for leaving Jupiter.

Would numbered ToC need to be a separate request?

Yes it's not really supported. You should log it on VS code as the outline view is not created by the Jupyter extension.

@claudiaregio, I do not see the Table of Contents (Markdown) under outline using the latest version of VS Code Insiders 1.59.0.
How to make it work?

@claudiaregio, I do not see the Table of Contents (Markdown) under outline using the latest version of VS Code Insiders 1.59.0.
How to make it work?

Best I can suggest is to download VS Code Insiders version. It has Native Notebooks and does show the outline

@rleyvasal what's your version of the jupyter extension? That UI you're showing is the old notebook UI. That shouldn't be possible in insiders anymore.

@rleyvasal Do you have a setting that opts you out of all experiments?

@claudiaregio. Thank you for your help!  it is working fine now.
I did have the setting to opt out - I uninstall and re-installed VSCode Insiders and the previous Settings were still there.

@Xinchengzelin Please file a new feature request https://github.com/microsoft/vscode


Make all the external links to open in a new page/tab

Check https://jekyllcodex.org

Closed by ce3f8f80a836ab1a3710cc64a98df881de3ced5b


Integrate locally hosted llama.cpp features into frontend

Added dynamic header/subheader on landing page  a261827d3d1b9978f699ba6f9addab2eb11a34ab and guided creation for the resource creation page e35c4d5d4cb6f0c1c51e33ddab8dde5a5723af1d


Update paginator example.

Summary

Add fast-forward and fast-reverse buttons, with button disabling in paginator.py.
Checklist

[x] If code changes were made, then they have been tested

[ ] I have updated the documentation to reflect the changes
[x] I have formatted the code properly by running task lint or pre-commit run --all-files

[ ] This PR fixes an issue
[x] This PR adds something new (e.g. new method or parameters)
[ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
[ ] This PR is not a code change (e.g. documentation, README, ...)

PLEASE IGNORE REVERTED CHANGES!

I'm not sure how to remove the reverted changes, however.


App finish very fast, VM does not stop

Problem description
If an app finishes immediately and netlink does not have chance to register the VM stays online although the app has finished.
Expected behaviour
If an app finishes, the VM should shutdown
Actual behaviour
In the rare case of an app finishing immediately, the VM stays online.
Steps to reproduce
Use a simple go app as the only application in vcfg:
package main

func main() {

}

fixed with 20.10.3


CAMEL-12235 - Added timestamp to message header

Currently, the timestamp of the message produced by the publisher cannot be accessed by the Message API in the custom processor where the message is being consumed. This improvement adds the timestamp to the Message Header.

I'll merge tomorrow. Thanks

thanks, Andrea!

Merged. Thanks


Async lock + waitFor

Hello!
Thank you for the simple and great library. I was considering using it as a way to synchronize writes to a SQLite database from different isolates, since SQLite only supports one writer at a time. Context: https://github.com/simolus3/drift/issues/2760
The problem is that the SQLite library is async, but runLocked doesn't work with async callbacks as stated in the docs.
I managed to "solve" it (at least for my simple demo) by creating an async runLocked + waitFor. The problem is that waitFor is being removed in Dart 3.3.
How could this be solved in an alternative manner without the waitFor?
Thank you!
Future<R> runLockedAsync<R>(Future<R> Function() action) async {
    _lock();
    try {
      return waitFor(action());
    } finally {
      _unlock();
    }
  }

Demo:
import 'dart:isolate';
import 'dart:math';

import 'package:native_synchronization/primitives.dart';

void main() async {
  final mutex = Mutex();
  const numIsolates = 20;

  final fs = <Future>[];
  for (var i = 0; i < numIsolates; i++) {
    fs.add(runInIsolate(mutex, i));
  }

  await Future.wait(fs);
}

Future<void> runInIsolate(Mutex mutex, int id) async {
  final sendableMutex = mutex.asSendable;
  await Isolate.run(debugName: 'isolate_$id', () async {
    final r = Random();
    final mutex = sendableMutex.materialize();
    for (var i = 0; i < 100; i++) {
      await mutex.runLockedAsync(() async {
        print('ASYNC isolate $id inside $i');
        final ms = r.nextInt(50);
        await Future.delayed(Duration(milliseconds: ms));
      });

      await Future.delayed(Duration(milliseconds: 100));
    }
  });
}

How could this be solved in an alternative manner without the waitFor?

I think a better design might be to do something which is based on message passing (e.g. you have a single writer which other isolates send messages asking it to write the data).
It is not a good idea to use a low-level synchronous mutex in a place like this to begin with because attempt to grab a lock will completely block the caller if lock is already taken.
You can concoct an asynchronous mutex out of existing synchronous mutex and ports. Here is the sketch with few missing details:
final class AsyncMutex {
  final Mutex mutex;
  // List of waiters, the first one is the owner.
  final Pointer<Pointer<_Waiter>> waiters;
  final Pointer<_Waiter> self;
  final Completer<void>? _waitingToAcquire;

  final port = ReceivePort();

  AsyncMutex() {
    port.listen((_) {
      _waitingToAcquire.complete();
    });
    self = /* TODO: allocate Waiter and populate port */;
  }

  void dispose() {
    port.close();
  }

  Future<void> acquire() {
    if (_waitingToAcquire != null) {
      throw StateError('Already waiting to acquire!');
    }

    final acquired = mutex.runLocked(() {
      // The current mutex is unowned and we can freely grab it.
      if (waiters.ref == nullptr) {
        waiters.ref = self;
        return true;
      } else {
        // Add yourself to the list of waiters.
        var w = waiters.ref;
        while (w.ref.next != nullptr) {
          w = w.ref.next;
        }
        w.ref.next = self;
        return false;
      }
    });
    if (!acquired) {
      _waitingToAcquire = Completer();
      return _waitingToAcquire.future;
    } else {
      return Future.value(null);
    }
  }

  void release() {
    // Release the mutex and notify the next waiter the they are now
    // the owner.
    final port = mutex.runLocked(() {
      assert(waiters.ref == self);
      waiters.ref = waiters.ref.next;
      self.next = nullptr;
      return waiters.ref == nullptr ? 0 : waiters.port;
    });
    if (port != 0) {
      /* TODO: Dart_Post can be acquired from DL C API */
      Dart_Post(port, null);
    }
  }
}

final class _Waiter extends Struct {
  @Int64()
  external int port;

  external Pointer<_Waiter> next;
}


Fix a typo

@googlebot I signed it!

Thank you for submitting this fix!

Something odd has happened with Github Actions - seems it can't find the commit. Overriding checks and merging anyway.


Monitor doesn't update when using multiple tasks

If I have multiple tasks in the monitor (e.g. ModelToTensorBoard and ScalarToTensorBoard), then one of them will stop to update in TensorBoard, even though the data is still being written to the file.
I believe the problem is that each task uses its own FileWriter, which gives each task a different events file. TensorBoard gives the error
E0329 00:03:23.523564<PHONE_NUMBER>30592 directory_watcher.py:244] File ./adam_SqExp_Points_M1000/events.out.tfevents.1585439824.mv310.53594.189.v2 updated even though the current file is ./adam_SqExp_Points_M1000/events.out.tfevents.1585439824.mv310.53594.205.v2
Could this make sense? Any suggestions on how to fix it?

A workaround is to use tensorboard --logdir . --reload_multifile=true, as suggested in https://github.com/tensorflow/tensorboard/issues/1063.

Workaround merged in #1389


gesture-based navigation

Scrolling beyond the page could navigate to the next page and vice versa.

This may include tap based navigation

Would really like to be able to swipe between pages.

This is kind of needed as the app is mostly unusable if you want to browse a large document.

We're very aware of this and bumping issues are not going to get a feature implemented faster or somehow made higher priority. Please don't bump issues. Use the GitHub reactions. We get emails for notifications and useless notifications and bumps are not going to change our priorities.
If you want a feature to be implemented faster, implement it yourself, put in the effort to research and develop it, or find someone who will and submit a pull request.

Is anyone on the GrapheneOS team a maintainer for this project, or is it simply dealt with whenever some time can be taken out?

We're very aware of this and bumping issues are not going to get a feature implemented faster or somehow made higher priority. Please don't bump issues. Use the GitHub reactions. We get emails for notifications and useless notifications and bumps are not going to change our priorities.
If you want a feature to be implemented faster, implement it yourself, put in the effort to research and develop it, or find someone who will and submit a pull request.

Well, it's over a year now and there's still no progress. Is this feature even on the agenda or completely dismissed as "not planned"? If the latter, I'd like to ask why.

PDF Viewer development is stalled due to lack of development resources, including lack of people to repeatedly review changes and get them into the shape needed to have them merged. Posting comments like this is not helpful and only drains our resources further.

I'm aware of the personelle situation and highly appreciate your work and effort. Still, posting comments like this is unfortunately necessary due to the lack of official information/status updates. I know things like this are time consuming and appreciate your update on this. I did not mean to offend anybody, we're on the same side, after all.


[croncpp] Added croncpp port

Describe the pull request

What does your PR fix? Created new port for croncpp

Which triplets are supported/not supported? all

Have you updated the CI baseline? no, but this in the first time adding a new port

Does your PR follow the maintainer guide? yes

@mariusbancila. , FYI - PR to add croncpp to vcpkg

@ras0219-msft Accepted all you changes; expect one, it caused the build to fail.


x/tools/gopls: add a diagnostic (and quick-fix) when a package is outside of go.work

It can be very confusing when gopls does not function properly because a package is excluded by go.work.
We should provide a friendly error message, preferably as a diagnostic on the package name and/or module name, with a quick fix to add the module to go.work.

Just for clarification: by "is excluded by go.work" do you mean that a Go module isn't listed in a use statement in a go.mod?

From in-person discussion, this can be achieved approximately as follows:
In Server.checkForOrphanedFiles, where we generate the "No packages found" diagnostic, we need to determine if a go work use command could potentially fix the problem. For this, we can use the following heuristic:

GOWORK is set (check snapshot.WorkFile)
The orphaned file is in a module (check parent directories for a go.mod file)
That directory is not included in the go.work file (call snapshot.ParseWork for the workfile uri)

If these conditions hold, then we can suggest a quickfix to run go work use . from the directory containing the file. The Go command should do the right thing.
We could go further and try to check whether the file would be excluded by build tags even if we use its module, but that is probably overkill.


question: precompile for compilerOptions.jsx is supported?

I have a question about jsx or jsx-preact engine. I know react-jsx for compilerOptions.jsx is supported, so how about precompile. Is it supported? If does, how can I make it. (I have tried directly changing it to precompile.)
Thanks for your time!

precompile is supported by jsx-preact (not by jsx).
Replacing react-jsx to precompile is enough:
{
  // ... other options
  "compilerOptions": {
    "jsx": "precompile",
    "jsxImportSource": "npm:preact"
  }
}

Thanks!


Rework stack: rename and expand functionality

Renames tbds-stack to tbds-block-stack, to allow for the addition
of an inline-based stack component: tbds-inline-stack.
This also changes stack modifier classes from "t-shirt sizing"
nomenclature (e.g. "large") to multipliers (e.g. "2x"). Using t-shirt
sizing is easy to start, but starts to break down quickly:

Small, medium, and large are comprehendible, but what if we need more
than three sizes?
It's hard to know the siblings within the scale. If you see a
--small modifier, and want to move down one step in the scale, you
may have to go look up what the name of the next step down is. It
could be --xsmall, or --x-small. Or worse, maybe it's --smaller.
With multipliers, you know that going down one step from --3x is
going to be --2x.

@setphen I’ve added 8c3489792da034972610f0a6312f432ef6bdfcae based on your comments. Mind taking another pass over this?


Measure time between request and response with client time only

Also make sure the DOM Element has been created before trying to update it.

I can't judge. My JavaScript is too bad :-D
LGTM


iOS 11: Actor bios appear in serif font

Starting from iOS 11, the actor biography section no longer shows text using the library's custom Roboto font.  Instead, the biographies are appearing in a default serif font.

Apple fixed this issue since the beta release; it no longer occurs on the production version of iOS 11


Request: Signed dumps of O1 Archive Nodes

In order to fully sync an archive node, it is necessary to retrieve blocks that were produced > 290 blocks ago off-chain. Staking providers who are running their own infra would love a way to recover from a catastrophic failure of their Archive infrastructure using a trusted source of data.
Additionally, this would help anyone wanting a full archive database going back to genesis who wasn't there in the first 290 blocks.
Some things I would look for in an implementation:

A chain of sql dumps that can be imported sequentially
Dumps are signed with an O1 Labs pubic key
Dumps would be available in a publicly-accessible object storage bucket

Extra credit:

The integrity of the data is verifiable such that these could be used as a source of truth to compare other archive backups to (since we don't have the blockchain to compare to).

It might make sense to use the 'precomputed blocks' format for this, especially since we're already capturing it.
Since these 'precomputed blocks' are encoding of the actual blocks, any individual block can be verified in exactly the same way as a block received over the network is -- by verifying its proof against its contents -- and without any privileged/trusted signer. These can be imported into an archive node either using a running daemon (advanced archive-blocks), or using the archive_blocks executable to place them in the db directly (this tool is packaged with the archive node IIRC).
I'll add an advanced command to do the verification, so that we support this fully as an option.

Yeah, the precomputed blocks would work great for this use-case, especially if they can be verified individually! Thanks @mrmr1993

So the archive-blocks advanced command was added.
@mrmr1993 can you please check if we need to do something else here?


Release @google-cloud/logging v4.0.1

This pull request was generated using releasetool.

Release is at https://github.com/googleapis/nodejs-logging/releases/tag/v4.0.1


Update razor-pa

change from webapp to web, as there is no template with name in dotnet core version 2.1.2

@malhaar-p The "webapp" alias does work. You'll see the "razor" short name in the CLI, but this is an alias for that project template. Please run dotnet --version to confirm that you have the 2.1 RTM SDK installed.


Barebones UI

We need a barebones UI that we can do testing with.
Elements to include:

Output Text:

should output something when the button is pushed. we can fix further functionality in the future and link it to our APIs later
should be centered in relation to the aside that will be on the right

Aside: should be placed on the right-hand side

should contain a history of the last 6 outputs that were generated after hitting submit button
order: most recent should appear on top

Submit Button:

should randomly call some data (doesn't have to be from APIs yet)
--consider creating a dummy array with random data values in each index
that data should then be displayed onto the output text field

When you click the button, you will now be presented with a random sandwich based on a pre-defined array. Functionality with the APIs is not currently supported yet.

We completed this all together! :D


Resolve issues #93 and #94

added file associations mentioned in my previous issues:
#93
#94

I can merge that but had in mind creating a specific PWA icon 🤔

Oh okay. I've seen other icon themes fall back to json for that one. That's why assumed it'd be just a json icon here too


Errors logging into test and prod servers from TabMigrate

We have 2 Tableau Servers hosted in Azure. Both have TabMigrate (TM) installed but I can't log into either server from TM.
Errors are different:
TEST - Error returned from sign in response: System.Net.WebException: The remote server returned an error: (404) Not Found.
PROD - Error: Error returned from sign in response: System.Net.WebException: The remote server returned an error: (401) Unauthorized.
Both have recently been upgraded to 2020.2. I have previously tested TM with the test server and it seemed to work. Not sure what URL I used but I don't believe anything else has changed. Any ideas gratefully received!

My Dev server is on 2020.4.1 however, the prod server is on  2020.1.7. TabMigrate v1.16 works on dev server but it doesn't on prod.
The error that I see when tried to connect to the prod server is as follows:
Error: Error returned from sign in response: System.Net.WebException: The remote server returned an error: (404) Not Found.
at System.Net.HttpWebRequest.GetResponse()
at TableauServerSignIn.ExecuteRequest()
I am assuming that it is similar to what's mentioned above.


Map StorageVehicle#method_37908

closes #446

...dammit; i'll let this one-line t: new PR pass though


Default case class values are memoized

zio-json is memoizing a variable's default in case classes even when the default is a method.
Here is a Scala 2 example. I'd expect each deserialization to create a unique UUID.
import zio.json._

import java.util.UUID

case class MyCaseClass(id: UUID = UUID.randomUUID, name: String)

object MyCaseClass {
  implicit val decoder: JsonDecoder[MyCaseClass] = DeriveJsonDecoder.gen[MyCaseClass]
  implicit val encoder: JsonEncoder[MyCaseClass] = DeriveJsonEncoder.gen[MyCaseClass]
}

val str = """{"name": "david"}"""

val a = str.fromJson[MyCaseClass].toOption.get
val b = str.fromJson[MyCaseClass].toOption.get
val c = str.fromJson[MyCaseClass].toOption.get

println(a) // MyCaseClass(36fd6b6a-5d9b-4939-a98a-7924d4ed259c,david)
println(b) // MyCaseClass(36fd6b6a-5d9b-4939-a98a-7924d4ed259c,david)
println(c) // MyCaseClass(36fd6b6a-5d9b-4939-a98a-7924d4ed259c,david)

val d = MyCaseClass(name = "david")
val e = MyCaseClass(name = "david")
val f = MyCaseClass(name = "david")

println(d) // MyCaseClass(9157e22f-80af-44ee-81e9-b6d0acd397e0,david)
println(e) // MyCaseClass(9a6ecb29-b02b-41d7-822d-9d4ad3865838,david)
println(f) // MyCaseClass(1027c46c-329c-44d4-b59a-a783076fd872,david)

@jwcarvana Thanks for reporting!
I've just added a missing check for default value memorization in jsoniter-scala and it passes for both Scala 2 and Scala 3 versions.
Probably similar macro implementations could be used to fix the issue in zio-json, if it is not designed intentionally to support only constant values for defaults.

/bounty $100

/attempt #1055

/attempt #1055

Side note: default parameters are not working in Scala 3 at all, unless users add the -Yretain-trees scalac option.
Given the following case class:
final case class RandomClass(
  str: String,
  uuid: UUID = UUID.randomUUID
)

And the following code in zio.json.macros.DeriveJsonDecoder.join:
def getDefaults: Array[Option[Any]] = {
  println(s"Random id: ${UUID.randomUUID().toString}")
  println(ctx.parameters.map(_.default).toArray.mkString("Array(", ", ", ")"))
  ctx.parameters.map(_.default).toArray
}

The first id is different every time a string is decoded into a RandomClass, while the second id is the same. E.g. this issue comes from Magnolia. It can be fixed in several ways:

A PR into Magnolia. I'm not sure that this fits with their design and would likely involve a change breaking binary compat.
A change in zio-json involving an annotation such as fieldDefaultValue, like there is in zio-schema. Currently all annotations in zio-json relate to field names, not to values. Is this by design?
No code change - add documentation explaining how to work with default parameters generally (including how to deal with defaults in Scala 3), as well as a workaround if users want to have dynamic default values.

I would tend towards 3 - serialization with random generators isn't referentially transparent and I would lean towards keeping the two separate and doing random generation as part of an effect, serializing the case class with a default null value, and then copying the randomly generated value over. If there are performance considerations, then the following should suffice:
final case class RandomClass(
  str: String,
  @jsonField("id")
  private val initialId: UUID = null
) {
  val id: UUID = if (initialId == null) {
    UUID.randomUUID()
  } else {
    initialId
  }
}

@jdegoes , any preferences here?


help with JS inject

I do not want to ask for help to make phishlet, i allready made few of them for testing, but now i am currious about gmail what is tricky with that, can you explain me what i need to look for exacly for obfuscated JS on gmail login page, than to inject some JS there.

So as gmail has that kinda protection and we are not used to make that, we need just little advice ;
Not that i need it honestly, it is just hard to live with that i can't make that ;)

There are two ways to tackle it - rewrite the Javascript that is served or replace it.
You will need to see how much functionality is left when you replace it, so stripping existing one might often be the better choice.
Take a look at my Protonmail phishlet to see how to get around advanced JS protections.

Hehe, you answered in right time, i said myself let me compare all phislets to see which one has JS inside, and your and few others had, but your seems to be biggest with much code, reading it i remmembered that cookies are not important for protonmail.

Testing Evilginx2, which is supposed to help me bypass 2FA on web servers by using the MITM proxy phishing attack.
I run into problems with web servers using Cloud fare based JavaScript security to mitigate MITM proxy phishing techniques such Evilginx2.
This leaves my phishing domain hanging on cloud fare's DDOS protection page with the text below.
Checking your browser before accessing cloudflare-protected.site.
This process is automatic. Your browser will redirect to your requested content shortly.
Please allow up to 5 seconds…
DDoS protection by Cloudflare
Ray ID:
Anyway i can use this to bypass this issue?

@micahunder Please create a separate issue for this separate topic.


Atomics and multi core support

The current implementation of ring_buffer::{Consumer,Producer} only works on single core systems because it's missing memory barriers / fences. The proper way to add those barries is to change the types of the head and tail fields in RingBuffer from usize to AtomicUsize.
We are not doing that right now because that change would make us drop support for ARMv6-M, which is one of the main use cases (single core microcontrollers). If rust-lang/rust#45085 was implemented we could do the change to AtomicUsize while still supporting ARMv6-M.
I think the options are: (a) wait for rust-lang/rust#45085 or (b) provide a Cargo feature that switches the implementation to atomics to enable multi-core support (seems error prone: you could forget to enable the feature -- the other option is to make multi-core support a default feature but default features are hard, and sometimes impossible, to disable which hinders ARMv6-M support).

provide a Cargo feature that switches the implementation to atomics

Or you can just do #[cfg(target_has_atomic = "ptr")] instead of a cargo feature.

That's a very good idea.  Nonetheless, a cfg implementation is as good as we can do for now.

I've looked again at your implementation, and it looks like it's not correct even for single core CPUs.
There is no guaranteed ordering between this two operations:
            unsafe { ptr::write(buffer.get_unchecked_mut(rb.tail), item) }
            rb.tail = next_tail;

So compiler has the right to generate this code instead:
            rb.tail = next_tail;
            unsafe { ptr::write(buffer.get_unchecked_mut(rb.tail), item) }

To prevent that you need to insert a compiler fence between this two operations, so they won't be reordered. Something like this should be sufficient, I think (But I would have also made rb.tail = next_tail; a volatile operation, because there might be some other reordering lurking around.)

Hmm, I don't think the compiler can do that kind of reordering since it changes the value passed to get_unchecked_mut; at least not in this context where a &mut rb.tail (i.e. no aliasing) implicitly exists due to the rb.tail =  assignment.

Oh, and similar thing with reads,
             let item = unsafe { ptr::read(buffer.get_unchecked(*head)) };
            *head = (*head + 1) % n;

It might increment the head first and then do read. Atomic operations guarantee ordering, but volatile operations does not.

since it changes the value passed to get_unchecked_mut
I think this doesn't matter. It can save the old value in register, do assignment and only then do write to a location from register.

I don't follow. Basically you are saying that the compiler can do this kind of reordering (swap A and B) in this code as well:
fn foo(slice: &[u32], head: &mut usize) {
    let n = slice.len();
    let item = slice[*head]; // A
    *head = (*head + 1) % n;  // B
}

(Which is equivalent to the last code you quoted.)
But that doesn't occur in practice; if it did a bunch of safe Rust would break. Adding an unsafe block doesn't make this reordering possible AFAIK.

Why not? I can just swap them, like this:
fn foo(slice: &[u32], head: &mut usize) {
    let n = slice.len();
    let tmp = *head;
    *head = (*head + 1) % n;  // B
    let item = slice[tmp]; // A
}

head can never point into slice because of aliasing rules, so a non racy program can never see the difference between your code and mine. So no save code would break because of this.

But I still can get around the panic like this:
fn foo(slice: &[u32], head: &mut usize) {
    let n = slice.len();
    let tmp = *head;
    if tmp >= n {
        panic!("...");
    }
    *head = (*head + 1) % n;  // B
    let item = slice[tmp]; // A
}

Now the should be identical

OK, I saw the modified read example and I see what you mean now. Sorry, I didn't realize earlier -- I'm already tired. Indeed, if head gets updated before before the data load then an interrupt between the two ops can overwrite the memory slot; I expect something similar can happen in the write case. A compiler barrier should do the trick I think. I'm off for today I'll probably review this again in two days.

then an interrupt between the two ops can overwrite the memory slot

Yes, exactly. Sorry if I was unclear. I just burned myself a lot by writing similar code in C.

Just tested the latest code from git using tsan and it complains about data race:
https://gist.github.com/pftbest/183d7850a3f4535b7e5f9343929f46ad
Here is the code that I used:
https://gist.github.com/pftbest/3642ffba88e7117094bb2053d27637a1
I think the reason why it fails is your recent commit https://github.com/japaric/heapless/pull/8/commits/9faea687d12c79f42217efdc7b31b49ff3830021
If you look at some other popular implementations like boost
https://github.com/boostorg/lockfree/blob/develop/include/boost/lockfree/spsc_queue.hpp#L267
And linux kernel:
https://github.com/torvalds/linux/blob/master/Documentation/circular-buffers.txt#L200
They both do acquire at least for consumer side.
I think it maybe OK to lift the acquire for producer side like they did in linux, because producer doesn't read any data so it doesn't need it. But removing acquire for consumer side is not good, because it is the one thing that provides the actual synchronization. One thread(core) releases the data in buffer and the other thread must acquire it before reading, or else it can read the old value.

Tested without this commit and still get the data race, so there might be something else that I don't see.

I tested locally and I can repro. I changed both loads to acquire and the problem remains. What I find strange is that the report mentions that some backtrace (?) operation is contending with the consumer / producer:
  Previous write of size 4 at 0x56253944a018 by thread T1:
    #0 std::sys_common::backtrace::__rust_begin_short_backtrace hello0-1a838b0df7296149462a69d816ab3a3b.rs:? (hello+0xa58e)
    #1 std::panicking::try::do_call hello0-1a838b0df7296149462a69d816ab3a3b.rs:? (hello+0xa803)
    #2 std::panicking::try::do_call hello0-1a838b0df7296149462a69d816ab3a3b.rs:? (hello+0xa803)
    #3 std::panicking::try::do_call hello0-1a838b0df7296149462a69d816ab3a3b.rs:? (hello+0xa803)
    #4 std::panicking::try::do_call hello0-1a838b0df7296149462a69d816ab3a3b.rs:? (hello+0xa803)

But maybe the backtrace is just pointing to the wrong place.

Found why it fails even if I revert the commit, you had the head and tail mixed up:
https://github.com/japaric/heapless/blob/9533e27f44b21eb331188074771610eb9dae661b/src/ring_buffer/spsc.rs#L46
You release tail in producer, but then acquire head in consumer

Just tested this change against master:
diff --git a/src/ring_buffer/mod.rs b/src/ring_buffer/mod.rs
index 3f53646..abee440 100644
--- a/src/ring_buffer/mod.rs
+++ b/src/ring_buffer/mod.rs
@@ -36,6 +36,10 @@ impl AtomicUsize {
     pub fn store_release(&self, val: usize) {
         unsafe { intrinsics::atomic_store_rel(self.v.get(), val) }
     }
+
+    pub fn load_acquire(&self) -> usize {
+        unsafe { intrinsics::atomic_load_acq(self.v.get()) }
+    }
 }

 /// An statically allocated ring buffer backed by an array `A`
diff --git a/src/ring_buffer/spsc.rs b/src/ring_buffer/spsc.rs
index 488c07a..082aab7 100644
--- a/src/ring_buffer/spsc.rs
+++ b/src/ring_buffer/spsc.rs
@@ -45,7 +45,7 @@ where
         let n = rb.capacity() + 1;
         let buffer: &[T] = unsafe { rb.buffer.as_ref() };

-        let tail = rb.tail.load_relaxed();
+        let tail = rb.tail.load_acquire();
         let head = rb.head.load_relaxed();
         if head != tail {
             let item = unsafe { ptr::read(buffer.get_unchecked(head)) };

It doesn't report any races when N is smaller than buffer size and reports write after read when N > buffer size. But write after read should be OK since it's a circular buffer after all so we can allow such write.

For now I think it would be nice to add to the module-level documentation that this only works on single-core CPU's.

@fluffysquirrels I think this issue was fixed in v0.2.0. No need to update documentation

@pftbest, OK, nice. In which case this issue can be closed. I think it would still be nice to add a line to the ring_buffer module documentation saying what guarantees are provided (i.e. single producer and consumer, as checked by implementing the Send trait but not the Sync trait).


CSP error about  'unsafe-eval'

I am trying to use "carbon-addons-iot-react": "1.98.9" in our product (we have to use 1.x because our project is carbon v9 based now ). And our product is enabled with some CSP policies (no 'unsafe-eval'). Now I found the following errors raised by CSP. If I add 'unsafe-eval' in CSP configuration, the following error is gone.

I know 1.x is under maintenance mode and your focus is on 2.x. If this issue can not be fixed in 1.x, will it be fixed in 2.x? The reason why I ask this is because next year we will move to carbon 10 and carbon-addons-iot-react 2.x so hope at that time this issue is already fixed.

After some digging, I've found this is coming from a dependency ajv used to validate the json schema.
See https://github.com/epoberezkin/ajv/issues/406:

Ajv compiles schemas to code. You can do it at run time, in which case it uses Function constructor - you will need to change your CSP to allow it. Or you can do it at build time converting all your schemas to modules that can be required (it is done this way in "table" package, e.g.). There is no other option.

@scottdickerson @bryancboyd We might consider doing schema validation at build time instead of runtime. Otherwise consumers will have to lax their CSP settings, which may not be possible.

@ilovepumpkin we're strongly considering moving AJV out of the repo entirely this should fix the issue.

@scottdickerson thanks a lot! our release will be out at the end of this December. If this issue could be fixed before that, which will save us a lot of effort to update CSP configurations for all tenants in production environment. Is it possible?

:tada: This issue has been resolved in version 2.22.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feedback response fix for mobile

Previously, the No response was illegible on mobile screens. Now the line wraps properly.
Fixes #845

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/6c011dfc51df1f7c7a9a23f81a71cb9c2581ff36/


Upgrade to Ruby 3.1

Codespaces doesn't support this yet, so this is on hold, but here is the status: https://github.com/microsoft/vscode-dev-containers/issues/1226

Closed in #115


Set terminal background color

Hey, thanks for the fantastic set of libraries!
It would be great to have a way to set the background color for the entire terminal, which would be reset upon exit. This is useful for apps that use AltScreen.

Hi there! This is totally possible with Lip Gloss.
Here’s an example.
The gist of it is:

Define a lipgloss.Style for your application with your background color
Listen for tea.WindowSizeMsgs to get the terminal's dimensions
Set the width and height on your application style in your View() as you render

Let us know if you have any more questions, and feel free to hop in our Slack, too.
Example output:

This is what I'm seeing (WSL2 / Ubuntu / Windows 11 / Windows Terminal Preview):

On the other hand, if I echo -ne "\033]11;rgb:53/18/6f\007", I get:

Notice how the first example doesn't get the borders exactly right, but the second one does.

Aha, I see what you're saying now. We all think this is a great idea will totally implement it (in fact, @muesli is already implementing this upstream). We'll keep this issue updated with progress.
Thanks for the feedback and clarification!

Looking forward to it. Thanks for the quick reply!

Merged in termenv!

Awesome! Shall I close this issue, or do you plan to expose that function directly via Bubbletea?

Let’s leave this open for now. We’ll integrate it into Bubble Tea in a manner in which it will automatically cleanup on shutdown.


Review: analysis.py

Key functions to review:

per_event_log_bayes_factor_log_neffs to calculate the BF for each event under the population distribution: https://github.com/FarrOutLab/GWInferno/blob/main/gwinferno/pipeline/analysis.py#L45
mu_neff_injections to calculate the number of found injections / efficiency under the population dist: https://github.com/FarrOutLab/GWInferno/blob/main/gwinferno/pipeline/analysis.py#LL63C5-L63C23
analogs to above functions but in log space
VT calculation: https://github.com/FarrOutLab/GWInferno/blob/main/gwinferno/pipeline/analysis.py#L119
hierarchical_calculation and its log counterpart, i.e. where the magic happens: https://github.com/FarrOutLab/GWInferno/blob/main/gwinferno/pipeline/analysis.py#L147

line by line + end to end test


[Bug] PublicProofOfIndexingResult.proofOfIndexing shuold always be non-null

Bug report
According to the index node GraphQL schema, this is what PublicProofOfIndexingResult looks like:
type PublicProofOfIndexingResult {
  deployment: String!
  block: PartialBlock!
  proofOfIndexing: Bytes!
}

The proofOfIndexing field, however, is calculated with a .map on an Option and sometimes is null: https://github.com/graphprotocol/graph-node/blob/3b21f8d90f79e332ce15cfb8a31d71aafb1d8452/server/index-node/src/resolver.rs#L454
Relevant log output
No response
IPFS hash
No response
Subgraph name or link to explorer
No response
Some information to help us out

[ ] Tick this box if this bug is caused by a regression found in the latest release.
[ ] Tick this box if this bug is specific to the hosted service.
[X] I have searched the issue tracker to make sure this issue is not a duplicate.

OS information
None

See also https://github.com/graphprotocol/graph-node/issues/2092.

Duplicate of #4730, closing.


Make props able to be quantum like astral bodies can be?

Feature
Can you make it so props can be quantum and teleport between specified coords?
Context
No response

I'll be working on this soon

Included in PR #196


Seperate channels watched for suggestions and voting

Would allow more locked down permissions on each of the channels.

We no longer check channels ourselves, and instead let that be set using the server settings.


[FEATURE] skip empty chats -- SOLUTION explained

Is your feature request related to a problem? Please describe.
The chat export creates, depending on the database, thousands of empty chats, or chats with only system messages. e.g. files with phone numbers that have never exchanged messages user-to-user.
This is also the case with 14- and 15-digit system numbers that have e.g. "123456789012345@lid" as a chat name (which creates a file like<PHONE_NUMBER>12345.html)
In my particular case, for example with a database I have with about 1000 actual chats, the program will exports an additional 9000 files without any information inside those files.
One can test this out by opening these files, but the only information are messages like:  "Not supported WhatsApp internal message", "The security code in this chat changed" and "xxx has changed their number to yyy"
Describe the solution you'd like
Filter out these messages by default.
Optionally, a command-line argument option could be provided if the user would instead like to output them, e.g. "--include-empty-chats".
Solution
The information to filter out the irrelevant chats is actually already readily available inside the msgstore.db database.
My problem in proposing a revision for @KnugiHK is that I am not an expert with SQL, and so I don't know how suggest how to modify the current SQL queries in the messages() or media() functions. However, I know the what needs to be done, and have tested it.
Here is how to find (and filter) the empty chats:
In msgstore.db, there is a table "chat_view". It contains a number of columns, including raw_string_jid and sort_timestamp (also "subject" for the group subject, as well as other data). The sort_timestamp is the time of the most recently received message from that contact/group represented by the raw_string_jid.  It seems to me that this table is what the WhatsApp app uses to create the chat list when you launch the app.
The key to filtering out the irrelevant chats is that sort_timestamp is always NULL if you've never exchanged messages with the contact represented by the raw_string_jid. Furthermore, all the "@lid" "contacts" are also always NULL too. So the solution is to ignore processing any messages where the chat ID has a NULL sort_timestamp in the chat_view table.
N.B. the only exception to the above seems to be status@broadcast -- that ALSO has a NULL sort_timestamp, even though it may have legitimate items in that.
I have tested the above with a bit of inelegant code, whereby I created a dictionary of all the raw_string_jids from chat_view with the sort_timestamp, and then I removed chats from the "data" dictionary before create_html() function runs in main.py. The HTML function then didn't export the empty chats.
Unfortunately, I don't really understand the SQL queries in the messages() and media() functions to do the sorting in advance -- but the query would be something like "SELECT raw_string_jid, sort_timestamp FROM chat_view" to get all the timestamps and then cross-check of the raw_string_jid associated with the chat doesn't have a NULL sort_timestamp.
I hope I explained this enough, but if not, happy to clarify!

Hi,
I just noticed that pull request #106 exists, which I missed because the title discussed contacts, but inside there there is code to filter out the empty chats (Refactoring empty filtering).
I would just like to comment that while that code would solve the problem, the program would still first need to run through ALL the entire message database in messages(), creating chatstore entries that are not needed from the get-go.
A less intensive solution would be to do the filtering at the messages() level considering the SQL table I mentioned in the post above (SELECT raw_string_jid, sort_timestamp FROM chat_view). If the SQL query could be altered, then no other changes are required elsewhere to the code (e.g. no changes to json output, no changes to create_html, etc.
There is already the code in the messages() function to deal a bit with filtering for phonenumber with get_chat_condition lines in the SQL query. Unfortunately, I don't know how to write SQL code to suggest the filtering taking into account the chat_view

I agree that it would be better to do the filtering in SQL level.

I agree that it would be better to do the filtering in SQL level.

If I improve on my SQL skills and can think of a solution, I will post it!
In any case, @KnugiHK thanks again for such an amazing project! I had almost a decade of my messages that I thought had been lost forever after some bug in WhatsApp didn't let me import my backup -- finding your tool saved me!!

Here comes the problem: I noticed that one of the chats contains only a message with an image I sent (along with its metadata, of course), but in the chat_view table, the chat has a null value for sort_timestamp.

Here comes the problem: I noticed that one of the chats contains only a message with an image I sent (along with its metadata, of course), but in the chat_view table, the chat has a null value for sort_timestamp.

Hi @KnugiHK, I just made a test myself to see what happens on my phone, and the behavior works for me as expected (i.e. not NULL).
Specifically what I did was as follows:

I found a number with which I had NO prior chat history, not even the system message of "messages and calls are end-to-end encrypted."
I sent an image. Note that I only sent an image, i.e. no caption.
The message showed as sent and delivered (two checkmarks), and I immediately shut off the internet to stop any other potential WhatsApp communications. I can also confirm that the contact did not view the message before I shut down the internet on my phone.
I made a chat backup while offline and copied over the database to my computer.

Upon opening msgstore.db, I found the following:

"message" table -- I can confirm that it did not contain any messages with that number in the past. The final two rows of the table included two messages to that number back-to-back (milliseconds apart): the image message (message_type 1) and a system message (message_type 7)
chat_view: the jid's sort_timestamp was NOT null, but rather the exact same timestamp as the the image message from the "message table"

For reference, my phone is an Android (v14), and I am running WhatsApp version <IP_ADDRESS>.
I wonder if anyone else can carry out such an experiment on a different platform?

Hmm... Maybe I should provide more context about the issue I encountered. The chat in question is with a contact who has already de-registered from WhatsApp, and the image was sent via the WhatsApp Broadcast feature.

Hmm... Maybe I should provide more context about the issue I encountered. The chat in question is with a contact who has already de-registered from WhatsApp, and the image was sent via the WhatsApp Broadcast feature.

Ah! Well, as I had mentioned above, I did notice that my status@broadcast also had a null sort_timestamp.
I think the filtering at the SQL level could still work well, but just also to take into account the "special" jids of @broadcast (and perhaps also @newsletter)

I agree that it would be better to do the filtering in SQL level.

@KnugiHK In the end, I actually did figure out how to do this via SQL with two lines in the query, and tested it and achieves the result of filtering out the empty chats. I posted the solution in pull request 106.
With those 2 SQL lines, one doesn't need any new functions and zero changes to all the other functions (e.g. create_html, etc all can stay the same).

Hmm... Maybe I should provide more context about the issue I encountered. The chat in question is with a contact who has already de-registered from WhatsApp, and the image was sent via the WhatsApp Broadcast feature.

Hi @KnugiHK , related to this broadcast case of yours, I realize I misunderstood the situation. Also, I didn't really know much about SQL database manipulation before, but now I have quite a bit over the last months. Apologies for the confusion!
In my suggested code, I thought I had dealt with all broadcast cases using "WHERE ... key_remote_jid LIKE '%broadcast%'. But I realize that isn't going to do it, because key_remote_jid is the jid of the person of the chat, not the jid represented in message's sender_jid_row_id. And it is in sender_jid_row_id where the jid row of the broadcast is listed if the message is a broadcast message. The only thing that "LIKE '%broadcast%'" in my suggested code serves is to allow status@broadcast to be processed (which seems to always have a NULL sort_timestamp).
So, if one has received a broadcast from someone, the not-NULL sort_timestamp is sufficient to deal with such cases (because then that person's name shows up in your chat list inside the app). But what I realize is that from what I understand now in your case is that you sent the broadcast, right? (and that person is also no longer on whatsapp)
Now, after a further evaluation, I have figured out how to do process the broadcast cases, even if NULL sort_timestamp, because there is actually another feature of the message table which I hadn't noticed -- there is actually a column called broadcast. If the message is a broadcast, the broadcast column gets a 1. At least I have seen this in my own database.
With this information, it is possible to tweak what I had proposed as follows:

Add in to the SELECT section of the query in messages() a line of "message.broadcast" (as well as chat.sort_timestamp, as I had suggested prior)
Then, the where section would be altered as follows:
WHERE key_remote_jid <> '-1' AND (chat.sort_timestamp IS NOT NULL OR key_remote_jid='status@broadcast' OR message.broadcast=1)

Again, the benefit is much cleaner code, no need for new functions, no alteration to existing functions, etc., just needing 2 extra lines of SQL query (plus minor alteration of the WHERE line).
Hopefully this is helpful and useful for you!


Update Meeting Info

Signed-off-by: Felixnoo<EMAIL_ADDRESS>@benjaminhuo
Meeting information updated. Please take a look, thanks.
#237

Thanks, look good!


How to deploy for HA?

Hello, bro.
I want to start the cluster for HA, How I should do?

When you say HA, do you have something specific in mind?
Profiling doesn't really allow collecting twice at the same time, so it can't be done on the collection level. What point of failure are you trying to prevent?

When you say HA, do you have something specific in mind?
Profiling doesn't really allow collecting twice at the same time, so it can't be done on the collection level. What point of failure are you trying to prevent?

I want to prevent some collection from crashing.


Add support for SSH based Git access from JenkinsFile Groovy script

Currently, the pipeline only supports userid/pwd based authentication to talk to Git. It would be helpful to have support for SSH based authentication from the Groovy scripts.

This is also helpful for 2FA enabled repositories

@marcingrzejszczak do you have a sample script on how to use this ?

You have to create the credential with the key by yourself. Call it e.g. Foo. Then in the seed job you can set the value of GIT SSH CRED ID to point to Foo. That way the pipeline will use the key for git

BTW, have you read the docs? :P http://cloud.spring.io/spring-cloud-pipelines/single/spring-cloud-pipelines.html#_using_ssh_keys_for_git

Just found about the update doc section...thanks ! This where release would help since we could just look into the release notes. :-)


error: exportArchive: The operation couldn’t be completed. (IDEDistributionErrorDomain error 3.)

I updated to the latest fastlane  today and my build has started failing.  Any idea what this error means:
ERROR [2016-09-15 13:18:20.73]: Exit status: 70
ERROR [2016-09-15 13:18:20.73]: 2016-09-15 12:18:19 +0000 [MT] Running step: IDEDistributionSigningAssetsStep with <IDEDistributionContext: 0x7fff0cc68c60; archive(resolved)='<IDEArchive: 0x7fff0cdcf010>', distributionTask(resolved)='2', distributionMethod(resolved)='<IDEDistributionMethodiOSAppStoreExport: 0x7fff0cd0c340>', teamID(resolved)='(null)'>
	Chain (2, self inclusive):
	<IDEDistributionContext: 0x7fff0cc68c60; archive = '(null)', distributionMethod='<IDEDistributionMethodiOSAppStoreExport: 0x7fff0cd0c340>', teamID='(null)'>
	<IDEDistributionContext: 0x7fff0cdcf8d0; archive = '<IDEArchive: 0x7fff0cdcf010>', distributionMethod='(null)', teamID='(null)'>
</IDEDistributionContext: 0x7fff0cc68c60>

ERROR [2016-09-15 13:18:20.73]: There was an error exporting your application

Hmm, I think it was because I now need to use xCode is - is that correct?  Anyway, I've upgraded it and now get a different error:
Exit status: 65
Thats it!  Can't see any other error.

Ah, thi was hidden way up in the log:
14:22:05]: $ set -o pipefail && xcodebuild -scheme pomochat -project ./pomochat.xcodeproj -destination 'generic/platform=iOS' -archivePath /Users/npomfret/Library/Developer/Xcode/Archives/2016-09-15/pomochat\ 2016-09-15\ 14.22.05.xcarchive archive | tee /Users/npomfret/Library/Logs/gym/pomochat-pomochat.log | xcpretty
[14:22:07]: ▸ 2016-09-15 14:22:07.754 xcodebuild[24485:372126] [MT] DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-11204/Xcode3Core/LegacyProjects/Frameworks/DevToolsCore/DevToolsCore/ProjectModel/Capabilities/Xcode3TargetCapabilitiesContext.m:286
[14:22:07]: ▸ Details:  Failed to expand identifiers "{(
[14:22:07]: ▸ "iCloud.$(CFBundleIdentifier)"
[14:22:07]: ▸ )}": Error Domain=IDECapabilitiesErrorDomain Code=1 "The operation requires a selected developer portal team." UserInfo={NSLocalizedDescription=The operation requires a selected developer portal team., NSLocalizedRecoverySuggestion=}
[14:22:07]: ▸ Object:   <Xcode3TargetCapabilitiesContext: 0x7f8af3a559d0>
[14:22:07]: ▸ Method:   -_appIDFeatureStateIncludingEntitlements:
[14:22:07]: ▸ Thread:   <NSThread: 0x7f8af0415260>{number = 1, name = main}
[14:22:07]: ▸ Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide.
[14:22:07]: ▸ 2016-09-15 14:22:07.759 xcodebuild[24485:372126] [MT] DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-11204/Xcode3Core/LegacyProjects/Frameworks/DevToolsCore/DevToolsCore/ProjectModel/Capabilities/Xcode3TargetCapabilitiesContext.m:286
[14:22:07]: ▸ Details:  Failed to expand identifiers "{(
[14:22:07]: ▸ "iCloud.$(CFBundleIdentifier)"
[14:22:07]: ▸ )}": Error Domain=IDECapabilitiesErrorDomain Code=1 "The operation requires a selected developer portal team." UserInfo={NSLocalizedDescription=The operation requires a selected developer portal team., NSLocalizedRecoverySuggestion=}
[14:22:07]: ▸ Object:   <Xcode3TargetCapabilitiesContext: 0x7f8af3a559d0>
[14:22:07]: ▸ Method:   -_appIDFeatureStateIncludingEntitlements:
[14:22:07]: ▸ Thread:   <NSThread: 0x7f8af0415260>{number = 1, name = main}
[14:22:07]: ▸ Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide.

Switched off xocde and it started working

@npomfret , I'm also experiencing this issue. You mentioned switching off Xcode helped to get working. What did you mean by this?
DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-11204/Xcode3Core/LegacyProjects/Frameworks/DevToolsCore/DevToolsCore/ProjectModel/Capabilities/Xcode3TargetCapabilitiesContext.m:286
[14:22:07]: ▸ Details:  Failed to expand identifiers

@dmiluski Can you try closing Xcode while running your lane? You will need to refresh your login keychain.

I found having Xcode running while using fastlane just didn't work

This worked for me:
open XCode, and deselecting "automatically manage signing" from General -> Signing


can't install any dependencies

i try to oinstall some dependencies , but got this error , for each dependency
Because every version of geolocator depends on flutter from sdk which depends on collection 1.17.0, every version of geolocator requires collection 1.17.0.
And because serverpod 1.1.0 depends on collection ^1.17.1 and no versions of serverpod match >1.1.0 <2.0.0, geolocator is incompatible with serverpod ^1.1.0.
So, because freeinternet_server depends on both serverpod ^1.1.0 and geolocator 9.0.2, version solving failed.
exit code 1

You can use only one out of serverpod 1.1.0 and geolocator 9.0.2 while using collection 1.17.0. bcoz geolocator depends on collection 1.17.0, and serverpod depends on collection 1.17.1. Here, dependency conflict. Try any another geolocator package and make sure that support server 1.1.0.
Any inconvenience pls writeback.


docs(navigation-menu): tsx instead of jsx

typescript is an industry standard, so it makes sense to use types in code example, so the user don't have to add them manually.

[x] Use a meaningful title for the pull request. Include the name of the package modified.
[x] Test the change in your own code.
[x] Include the URL where we can test the change in the body of your PR.

This pull request:

[ ] Fixes a bug
[ ] Adds additional features/functionality
[x] Updates documentation or example code
[ ] Other

Thanks for this, though if we ever decide to provide TS examples I think it'd be best to provide them consistently for all components.
Going to close for now as I can't see us having the bandwidth to do so in the near feature.


Assertion fails when second conjunct is the one containing the trigger

The following code fails the assertion, suggesting a trigger issue.
pub struct P
{
    pub x: int
}

pub proof fn test7(m: Map<int, P>, s: Seq<int>)
    requires
        forall |i| 0 <= i < s.len() ==> m.dom().contains(i) && m[i].x == #[trigger] s[i],
{
    if s.len() > 0 {
        let i: int = 0;
        assert(0 <= i < s.len());
        assert(m.dom().contains(i) && m[i].x == s[i]); // this assertion fails
    }
}

It seems to be because the first conjunct doesn't contain the trigger, even though the entire term does. It seems this way because the following works:
pub proof fn test7(m: Map<int, P>, s: Seq<int>)
    requires
        forall |i| 0 <= i < s.len() ==> m.dom().contains(i) && m[i].x == #[trigger] s[i],
{
    if s.len() > 0 {
        let i: int = 0;
        assert(0 <= i < s.len());
        assert(m[i].x == s[i]);
        assert(m.dom().contains(i));
    }
}

This doesn't help much, but FWIW, I recall occasionally hitting cases like this and receiving the explanation that if Z3 tries to prove A && B, it's quite possible that it tries to prove A, fails, and then gives up without ever considering B, even for triggering purposes.  In other words, I don't think Z3 is guaranteed to examine the entire expression searching for triggers before it tries to start solving.

Ah, I see. It's a known bug in Z3. Thanks.

It's a known issue, but it also sucks. It's mildly annoying if you're aware of it and know to look out for it; it's hugely frustrating if you don't know what's going on.


x/net/html/charset: DetermineEncoding  returnes encoding.Nop with utf-8 name

What version of Go are you using (go version)?

$ go version
go version go1.13 linux/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/d.fedorova/.cache/go-build"
GOENV="/home/d.fedorova/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/d.fedorova/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/golang"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/golang/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/d.fedorova/mailapi/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build166701564=/tmp/go-build -gno-record-gcc-switches"

What did you do?
I called DetermineEncoding for a utf8 invalid string that has invalid bytes after first 1024 bytes.
https://play.golang.org/p/M0LeleRdj16
What did you expect to see?
I expect encoding returned by DetermineEncoding to decode my content into valid utf8 string even if certain == false  (with replacement characters if needed).
I expected https://pkg.go.dev/golang.org/x/text/encoding/unicode#UTF8 to be returned with utf-8 name.
It seems wrong to me to return encoding.Nop if we only checked prefix of all content.
https://github.com/golang/net/blob/master/html/charset/charset.go#L98
if hasHighBit && utf8.Valid(content) {
    return encoding.Nop, "utf-8", false
}

What did you see instead?
encoding.Nop is returned with name utf-8<EMAIL_ADDRESS>And NewDecoder did not return valid utf8 string

Since x/net/html doesn't have a direct owner, bubbling this up to the x/net owners.
CC @ianlancetaylor @bradfitz via https://dev.golang.org/owners for x/net.

UPD: I noticed encoding.Nop is also returned in prescan for unf-16* encoding names. It will lead to the same problem if len (content) > 1024
https://github.com/golang/net/blob/master/html/charset/charset.go#L206
if strings.HasPrefix(name, "utf-16") {
    name = "utf-8"
    e = encoding.Nop
}


Where is the discord rpc psych engine icon?

What is your question?
i want to edit that but finding or typing "icon" in the search bar makes nothing: shows just enemy icons

It's not inside the game files

then where is it?

then where is it?

its in the psych engine discord developer application
but theres no way of accessing it

use this tutorial to change shit
https://youtu.be/M57nL_PJxnI
yes it's made for kade engine but it works with psych as well

The character RPC icons are tied to the Discord Application ID, it's not something people can modify as only i have access to it.


Update courses page form

changed form to be GET form - proof against refresh and back buttons
altered form display to accommodate new functionality
changed name of form to FilterAndSortForm
added overreaching course filter method get_filtered_courses
added overreaching course sorting method get_sorted_courses
added filter methods:

get_courses_with_preqs : returns courses with prerequisites
get_course_without_preqs : returns courses without prerequisites
get_courses_with_ratings : return courses with at least 5 ratings

added sorting methods:

sort_by_name
sort_by_id
sort_by_rating
sort_by_load
sort_by_num_reviews
sort_by_num_raters

fixes #74
fixes #110
depends on #104

Looks great :)
I left some comments

LGTM


Update README.md

Made correction to the install vs the upgrade instructions and changed call from getinfo to getwalletinfo

almost - the getwalletinfo isn't correct there, it should be getnetworkinfo

can we adjust the Contributing part as well in one shot?

all covered by 2c90517 ?

@HashUnlimited yes, #3 covered all.
@seekthex You can close this PR.


Disable 'use_gold' if 'use_lld' is true

As use_gold=true will be redundant in this case.

If I'm understanding what you're saying, use_gold=true is already implied when use_lld=true. Could you explain what your choice of use_gold=false with use_lld=true does?

Could you explain what your choice of use_gold=false with use_lld=true does?

Oh, sorry for my poor explanation. Because it's not possible to use both linker at the same time. lld is the preferred linker to use with is_clang. The logic is defined in build/config/compiler/compiler.gni.
declare_args() {
  # Set to true to use lld, the LLVM linker. This flag may be used on Windows,
  # Linux or Fuchsia.
  # TODO(pcc): Enable lld on more architectures on Linux.

I see, thanks for explaining.

We could even remove both lines, as long as is_clang is true.

I like this idea more, since it reduces potential breakages due to our GN configuration. I'll take care of this.