Bitcoin Logo/Icon Issues

Now that the Bitcoin logo/icon used with the GUI is currently facing a redesign thanks to @bosch-0's work on #199, it's an appropriate time to discuss and potentially fix some issues with the logo. Here I document two issues that I have found: 1) Inconsistent Color, 2) Rough/Pixelated Edges.
A couple of notes:

The icon used as for the New/Proposed Icon is taken from PR #199
The icon used as the Current Icon is taken from the 0.21.0 Release

Inconsistent Color
Both the new proposed logo and the current logo appear in the GUI as a different color compared to their source. Looking at the RGB values shows that the Red and Blue values get shifted between the source and how it is represented in the GUI. There is a consistent 1 point shift down in the Green value. Tried my best to sample in the same place for all comparisons.
I suppose that the same color shifts occur with the Regtest, Testnet, and Signet Icons. I have not tested this.
The orange color between the current and new/proposed logo is different. I believe it would be beneficial to establish concrete colors and/or a color scheme for Bitcoin Core. With an established color scheme we can keep things consistent.
Current Logo Color Comparison

New Logo Color Comparision

Rough/Pixelated Edges
The Bitcoin logo as a PNG/ICO file that sits under src/qt/res looks completely fine on a HiDPI display. When one runs the GUI, it is apparent that the logo has rough edges that make it look abnormal. This indicates that the problem may not be with the icon/logo itself and instead with how it is painted.
Below are some screenshots of this problem:
SVG, PNG, and GUI Comparison
Note: The shadow effect used on the current logo makes the rough edges less obvious. It becomes more apparent on the new logo which doesn't have this shadow effect.

Proposed New Logo Splash Screen

Current Logo Splash Screen

System icon comparison with other icons
Note: Included comparisons with other application icons to highlight that this is a problem with the Bitcoin icon and not a system rendering issue.

Inconsistent Color

The logo uses a slight gradient of 3 shades of orange starting with #FFA440 at the base, then #FFB040, and finally #FFB640 fyi - but yes seems the GUI is rendering the logo not how it should be. The original source from where I exported the PNG / SVG from is here > https://www.figma.com/file/0oqnohjahRtprjRyaetDOL/Bitcoin-Core-Design-System?node-id=1850%3A44

Rough/Pixelated Edges

I did not notice this when testing will try again though I was using a non HiDPI display

Inconsistent Color

The logo uses a slight gradient of 3 shades of orange starting with #FFA440 at the base, then #FFB040, and finally #FFB640 fyi - but yes seems the GUI is rendering the logo not how it should be. The original source from where I exported the PNG / SVG from is here > https://www.figma.com/file/0oqnohjahRtprjRyaetDOL/Bitcoin-Core-Design-System?node-id=1850%3A44

Rough/Pixelated Edges

I did not notice this when testing will try again though I was using a non HiDPI display

Flat icon design is challenging... :)
Are you exporting the SVG at high dpi such as 512? 1024? 2048?
https://iconion.com/posts/flat-icons---what-is-a-flat-web-design-exactly-g.html
Apple's guidelines are still useful when targeting multiple platforms (I'm my experience)
https://developer.apple.com/design/human-interface-guidelines/macos/icons-and-images/app-icon/

Flat icon design is challenging... :)
Are you exporting the SVG at high dpi such as 512? 1024? 2048?
https://iconion.com/posts/flat-icons---what-is-a-flat-web-design-exactly-g.html
Apple's guidelines are still useful when targeting multiple platforms (I'm my experience)
https://developer.apple.com/design/human-interface-guidelines/macos/icons-and-images/app-icon/

@Bosch-0 any update?

Seems to me it's more of an issue with Qt rather than the logo I've uploaded. https://github.com/bitcoin-core/gui/pull/199#issuecomment-7922970869 may be a solution?


In column mode, allow the selection start position to be set when Shift+Alt is already pressed.

In Visual Studio, the selection start position can be set while Alt is pressed. That is, Alt enters column mode but setting and extending the selection works normally.
In Visual Studio Code, the selection start position must be set before pressing Shift+Alt.
Perhaps, the problem is having Shift+Alt as the keyboard shortcut for column mode in the first place?

I haven't tried VS recently, but my mental model of this is that "alt" does everything the regular mouse gesture does, but with column selection.

what I'm describing works when configuring "editor.multiCursorModifier": "ctrlCmd" and using the latest VS Code Insiders

If I click and then drag I get a normal selection; if I drag and have alt pressed I get a column selection:

Similarly, if I shift+click I get an expanded normal selection; If I shift+alt+click I get an expanded column selection. So I am not 100% sure why VS would behave differently, but I think our current behavior (in Insiders) does make sense... Unless I'm missing something, in which case, please explain in finer detail...

The difference between VSCode and Visual Studio (and most other editors with block selection I've used) is subtile but very annoying.
Let say you have the cursor at line 10, column 25. You press the key combination to enter block selection (Shift+Alt in VSCode, Alt in VS) and click on at line 50, column 40.
On VSCode, a block selection will activate from (10,25) - (50, 40) and keeping the mouse right-button down will extend the selection from (10,25) to the new cursor position.
On VS (and other editors), the cursor will simply move to (50, 40) and keeping the mouse right-button down will extend the selection from (50,40) to the new cursor position.
So, it's really how the selection anchor is defined that sets the VSCode block selection appart.

@mfilteau VS Code also has support for what you describe (column selection via alt+click), but out of the box the alt+click is used/"taken" for adding multiple cursors. That's why you need to configure "editor.multiCursorModifier": "ctrlCmd" which "frees" up alt+click.
Here is the latest insiders of VS Code where I have configured "editor.multiCursorModifier": "ctrlCmd" and where I alt+click:


clicking on an example scrolls the viewport down if the selected book page is at the bottom of the nav list

Is this not intended and good? Need more details.


caffe2/third_party/gloo/gloo/cuda_private.cu(40): error: identifier "__int2half_rn" is undefined

Got an error when make
i use cuda7.5 and cudnn 6.0
Building NVCC (Device) object third_party/gloo/gloo/CMakeFiles/gloo_cuda.dir//./gloo_cuda_generated_cuda_private.cu.o
Building NVCC (Device) object third_party/gloo/gloo/CMakeFiles/gloo_cuda.dir//./gloo_cuda_generated_cuda.cu.o
/home/yyf/caffe2/third_party/gloo/gloo/cuda_private.cu(40): error: identifier "__int2half_rn" is undefined

1 error detected in the compilation of "/tmp/tmpxft_00007393_00000000-7_cuda_private.cpp1.ii".
CMake Error at gloo_cuda_generated_cuda_private.cu.o.cmake:260 (message):
  Error generating file
  /home/yyf/caffe2/build/third_party/gloo/gloo/CMakeFiles/gloo_cuda.dir//./gloo_cuda_generated_cuda_private.cu.o

make[3]: *** [third_party/gloo/gloo/CMakeFiles/gloo_cuda.dir/./gloo_cuda_generated_cuda_private.cu.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/home/yyf/caffe2/build'
make[2]: *** [third_party/gloo/gloo/CMakeFiles/gloo_cuda.dir/all] Error 2
make[2]: Leaving directory `/home/yyf/caffe2/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/yyf/caffe2/build'
make: *** [all] Error 2

It's recommended to use cuda8.0 since the fp16 features.

Thank you! It worked! But on your official website, it said that CUDA 6.5 or greater is OK...
And I found another problem about the openCV. It seems that caffe2 doesn't surpport openCV3.0?
I have to turn OFF USE_OPENCV to make it.

I think we currently will need to use cuda 7.0 and above... Or maybe even 8.
What is the issue regarding OpenCV? I think OpenCV 3.0 should be supported (runs locally on my machine), although I do know that the most recent opencv has some cuda gpu settings that may create a conflict.

Sorry for my late reply. This issue occured long time ago, i did not keep the log, so.... sorry.
Anyway, i will close this issue now.


docs: align simple template to documentation

Checklist

[ ] run make test
[ ] PR title must follow conventional-commit-standard
[ ] tests and/or benchmarks are included
[x] documentation is changed or added
[ ] commit message and code follows the Code of conduct

@revosw thank you already for the contribution! I appreciate that you care about documentation.

I see a workflow is awaiting approval. I've ran pnpm run format:examples and pushed, so I think it should be good now @jensneuse


Money Laundering

No one has bothered to reply to my email..
So I'm going to plaster your social media until I get a valid response.
or, is the main purpose of your company to help criminals steal cryptocurrency?

You have 48 hours before I start forwarding stuff to Interpol

Actually, I probably will end up contacting Interpol despite what ALFAcoin replies with, as I feel that you have failed to comply with AML and verification with merchants using your platform.

@NeoBeum
We've replied to your ticket within 2 hour frame.
Just in case you lost the link to the ticket, here it is - https://www.alfacoins.com/support/ticket/1598
Let's keep the conversation in the ticket.
Let me quote it as it seems you didn't get that reply inside your e-mail:

Dear customer,
We're happy to assist if we receive an official request from police or interpol.
We're glad to provide all necessary details to any law enforcement officer.
Thank you.
--
Best regards,
ALFAcoins support team


feat(brush): user can provide cursor style. close #13712

Brief Information
This pull request is in the type of:

[ ] bug fixing
[x] new feature
[ ] others

What does this PR do?

User can now provide cursor style when mouse is inside and outside the brush.
Fixed issues

Details
Added field cursor for cursor style in inBrush and outOfBrush.
Before: What was the problem?

Earlier there was default cursor for brush ie crosshair for out of the brush and move for within the brush. User was unable to customize that.

After: How is it fixed in this PR?

User can now provide cursor style when mouse is inside and outside the brush. Added field cursor for cursor style in inBrush and outOfBrush.

Usage
User can now provide cursor style when mouse is inside and outside the brush.
Are there any API changes?

[x] The API has been changed.

- Added field `cursor` for cursor style in `inBrush` and `outOfBrush`.

Related test cases or examples to use the new APIs
NA.
Others
Merging options

[x] Please squash the commits into a single one when merge.

Other information

Thanks for your help, but first, please do not commit any file in dist, only src.

Alright @susiwen8

Thanks for your help, but first, please do not commit any file in dist, only src.

Should I revert the changes and push a new commit?
I'm just starting the contributions, thanks for your help.

Should I revert the changes in dist dir and push a new commit?
Yes, you could.

When does the PR gets reviewed?

@g7i Thanks, we will merge this PR in 5.2.0

@pissang @plainheart @susiwen8 I have resolved the conflicts, so its ready to be reviewed. Thanks...


#3872 adding "shrinkdebugfile=1" to bitcoin.conf

Adresses: #3872 If there is no shrinkdebugfile= entry it will now add it to bitcoin.conf when Bitcoin is turned on (eg on recover).

OK worked on my recover test. @openoms please review

OK tested with running RaspiBlitzes - merging.


Performance/AncestorsInclude shows warning for instance methods #ancestors

Calling a method with the name ancestors on an object raises the rubocop-performance warning.
Is this possible to detect more correctly with static code analysis or are we out of luck? If not, honestly I would question the usefulness of this cop because I don't think we are the only ones to happen to have data models where something is called ancestors.

Expected behavior
rubocop-performance only warns when .ancestors is called on a Class.
Calling of the instance method should be fine
Actual behavior
It seems to screem at any calling of something called .ancestors
Steps to reproduce the problem
We have a rails model with the following association declaration
has_many :ancestors

Somewhere we have a test where usage this method - on the instance.
expect(object_one.ancestors.include?(object_two)).to eq(true)
rubocop warns
Performance/AncestorsInclude: Use <= instead of ancestors.include?

RuboCop version
$ [bundle exec] rubocop -V
0.83.0 (using Parser <IP_ADDRESS>, running on ruby 2.6.6 x86_64-darwin19)
# ...
ruby-2.6.6/gems/rubocop-performance-1.7.1

@koic is working on a PR, but another way around is that this test could be improved to:
expect(object_one.ancestors).to include(object_two)

😄


Entire Horizontal Scrollbar is moving while scrolling

Not sure if I'm using the plugin correctly but I have a table that has removable columns.  When the table is wider than the container the horizontal perfect scrollbar kicks in.  My problem is that when I scroll right, the entire rail moves along with it instead of just the slider.  Am I missing something simple here?

Use 'position: relative' on the .ps-container

Thanks, that fixed it but opened a whole new can of worms with the buttons that are auto-gen'd by the Datatable plugin.  I'll have to figure out what to do with them.  Thanks again.


python310Packages.pypck: 0.7.16 -> 0.7.17

Changelog: https://github.com/alengwenus/pypck/releases/tag/0.7.17
Description of changes
Fix build (https://hydra.nixos.org/build/219938009)
ZHF: #230712

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 232630 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.lcn
python310Packages.pypck
python310Packages.pypck.dist
python311Packages.pypck
python311Packages.pypck.dist


Can't find Python executable

Happens when trying to install through npm... The file path is in the PATH variable

Try executing this command:
npm install --global --production windows-build-tools
Can confirm it works and fixes the issue.
If it does not work, check the original issue here

Now this error is given:
PS D:\Files\Git\Applications\test> npm i electron-acrylic

><EMAIL_ADDRESS>preinstall D:\Files\Git\Applications\test\node_modules\electron-acrylic
> echo This is a work in progress. There may/will be bugs. You can open an issue at https://github.com/23phy/electron-acrylic/issues'

This is a work in progress. There may/will be bugs. You can open an issue at https://github.com/23phy/electron-acrylic/issues'

><EMAIL_ADDRESS>postinstall D:\Files\Git\Applications\test\node_modules\electron-acrylic
> npm run rebuild

><EMAIL_ADDRESS>rebuild D:\Files\Git\Applications\test\node_modules\electron-acrylic
> node-gyp rebuild --target=2.0.0 --runtime=electron --arch=x64 --dist-url=https://atom.io/download/atom-shell

D:\Files\Git\Applications\test\node_modules\electron-acrylic>if not defined npm_config_node_gyp (node "D:\Programs\NodeJS\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild --target=2.0.0 --runtime=electron --arch=x64 --dist-url=https://atom.io/download/atom-shell )  else (node "D:\Programs\NodeJS\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild --target=2.0.0 --runtime=electron --arch=x64 --dist-url=https://atom.io/download/atom-shell )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
D:\Files\Git\Applications\test\node_modules\node-addon-api\src\nothing.vcxproj(20,3): error MSB4019: The imported proje
ct "D:\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and th
at the file exists on disk.
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (D:\Programs\NodeJS\node_modules\npm\node_modules\node-gyp\lib\build.js:258:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12)
gyp ERR! System Windows_NT 10.0.17738
gyp ERR! command "D:\\Programs\\NodeJS\\node.exe" "D:\\Programs\\NodeJS\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=2.0.0" "--runtime=electron" "--arch=x64" "--dist-url=https://atom.io/download/atom-shell"
gyp ERR! cwd D:\Files\Git\Applications\test\node_modules\electron-acrylic
gyp ERR! node -v v10.6.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>rebuild: `node-gyp rebuild --target=2.0.0 --runtime=electron --arch=x64 --dist-url=https://atom.io/download/atom-shell`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>rebuild script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR!      C:\Users\user\AppData\Roaming\npm-cache\_logs\2018-08-24T22_32_55_618Z-debug.log
npm WARN<EMAIL_ADDRESS>No description
npm WARN<EMAIL_ADDRESS>No repository field.
npm WARN<EMAIL_ADDRESS>No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: `npm run rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\user\AppData\Roaming\npm-cache\_logs\2018-08-24T22_32_55_746Z-debug.log

Can you take me through all the steps you have done to achieve this? This includes if your using it as standalone or as a dependency , and the fix I provided. Try to give me as much detail as possible, and don't miss out steps, as what may seem insignificant may be major; I will be attempting to reproduce this exact error on a clean VM environment.

I installed windows-build-tools just as you said (npm i -g --production windows-build-tools) in my electron project's directory, then entered npm i electron-acrylic in the same folder as a dependency.
System info:
Windows 10 Home x64 10.0.17738
Electron version: v2.0.4
NodeJS version: v10.6.0
npm version: v6.1.0
Do you need the npm debug log from the install?

Alright, I've noted the details. Will try it out as soon as possible. It may take a day or two due to College/Work, but I will try to find a fix as fast as possible.


Fix 4409 by warning once every 15 minutes

When max files is exceeded but files cannot be found to compact, emit a WARN level message once every fifteen minutes, other wise log at trace.  This should prevent flooding the logs and the monitor with a large volume of messages, but still be annoying enough that it draws attention to the problem.

NOTE to reviewers: I am not sure if this will address the problem - it will depend on how often the DefaultCompactionPlanner is instantiated because this fix will only work if a new instances of the Planner is NOT created each run.  I wanted to get this up early in case it is sufficient.

I wonder if NanoTime from #4364 should have been merged into 2.1 vs main.

@EdColeman I had worked up a WIP fix for this here https://github.com/keith-turner/accumulo/commit/2877bc9e97e3eb456e4bbebfd858bf9292368fdc .  Not sure if it works or is a good approach though.  One thing I was trying to do was to reuse code for rate limiting logging.  I thnik we have multiple places in the code that do something custom for this, would be good to consolidate the pattern in the code somehow and have one way to do it.

I have no issues with a more general solution.  This can be closed if that's the way we want to go. My rational for this narrow PR was that, if the approach is correct then it would be a small patch that others could use quickly.
We may want to use this approach and then, as a follow-on. replace it the more general solution when it is ready?
Either way, it assumes that the instantiation of the DefaultCompactPlanner is suitable for using per-instance local variables to control the log rate.  If not, then there is no point to using this PR.


Add baremetal Coremark build

Tested with spike

Could you also do the following:

Update the README
Remove the Coremark hash file
Document that there is a baremetal and a br-linux version.

And could we change the name of the bmark to be something like: coremark-bare.riscv. That follows the FireMarshal naming a bit more.


test: adding quorum multip test ledger Dockerfile

This code allows for building of the a quorum multi party docker image that allows for private transactions to be tested.
Signed-off-by: Travis Payne<EMAIL_ADDRESS>

Codecov Report

Merging #1234 (e0b4f5d) into main (57afe15) will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1234      +/-   ##
==========================================
- Coverage   71.95%   71.93%   -0.03%
==========================================
  Files         270      270
  Lines        9438     9438
  Branches     1112     1112
==========================================
- Hits         6791     6789       -2
- Misses       2075     2077       +2
  Partials      572      572

Impacted Files
Coverage Δ

...main/typescript/rustc-container/rustc-container.ts
66.29% <0.00%> (-2.25%)
:arrow_down:

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 57afe15...e0b4f5d. Read the comment docs.


Content not centered on profile screen

https://discord.com/channels/355905150528913409/1148592822967083048/1267901981708521564

It wasn't just the description, the whole content had to be centered.
fixed here: 7e0928d548980abb4988fb0ea250056079075446 (within PR #579)


Fonts not included when using :compress

Line 277 of grunt.js needs to be changed from
cwd: 'app/lib/ionic/release/fonts/',

to
cwd: 'app/bower_components/ionic/release/fonts/',

So that fonts are appropriately moved when compressing.

That worked for ionic, I use font-awesome (http://fortawesome.github.io/Font-Awesome/).
To support any bower package with fonts I used
      fonts: {
        expand: true,
        flatten: true,
        cwd: '<%= yeoman.app %>/',
        dest: '<%= yeoman.app %>/fonts/',
        src: ['**/fonts/*']
      },

You can also skip writing to the yeoman.app/fonts/ and write to yeoman.dist/fonts


Resolving a weird edge case in case of a poison pill message being retried, followed by a pod restart

Description
Resolving a weird edge case in case of a poison pill message

Moving the session.Context().Done() case ensures the next message is NOT processed while the pod is terminating...

Issue reference
#3529
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[x] Created/updated tests: Hard to reproduce with tests
[x] Extended the documentation: N/A

@holopin-bot @passuied Thank you for your contribution!


fauxmo with alexa-avs on Raspberry Pi

Hi,
I have setup alexa on Raspberry Pi using the steps mentioned in https://github.com/alexa/alexa-avs-sample-app/wiki/Setting-up-the-Raspberry-Pi and able to execute basic alexa skills like "what is the weather".
Now I am trying to add basic home skills to Raspberry-Pi like "turn on kitchen light".
I have tried to run fauxmo.py in same Raspberry-Pi. But the dummy devices are not listed while searching devices through "Discover device" option (tried with both web interface & alexa Android app).
Is it possible to use "fauxmo.py" on same Pi3 device to setup dummy devices?

Anyone have an answer to this?

I am trying something very similar. My RPi3-with-AVS not detecting the Fauxmo (on my linux box for testing for now) also, and the UPnP is not blocked on my router. I am not sure is the fireware on the real Echo is different than the java client sample app.

Same problem. I'm trying to run it with the AVS Device SDK on the same RPi3. No devices are detected. So far sadly I haven't found any proof that this could/should work. I just wanted to be able to trigger simple commands/scripts on the same RPi3 where Alexa is running.
Anyone know of any other options? Ha-bridge also supports only the physical echo devices.

I am also trying the same thing (AVS and Fauxmo inside RPi).
I was able to make it work by adding first the device (fauxmo) using an Echo device. It is not working with Alexa app only.
Then I turned off my Echo device, test it using AVS in Raspberry PI.


Optimistic UI Updates

Send message displays it immediately
Adding/removing reaction updates UI immediately

For sending messages, we'll want to borrow the marked.js (for markdown rendering) and local_id code path that we have in the web client for reconciling locally echoed messages with the copy that later comes down from the server via the events system.

Closing as implemented.


Release 2.1.3

Description
Update CHANGELOG and prep for 2.1.3 release
Check List

[ ] New functionality includes tests
[ ] All tests pass
[X] CHANGELOG.md has been updated if required (not required for bugfixes, required for API changes)
[X] All commits have been signed-off for the Developer Certificate of Origin. See https://github.com/chef/chef/blob/master/CONTRIBUTING.md#developer-certification-of-origin-dco

DO NOT MERGE: There is a bug with Omnibus where builds are not being produced.

Okay. We should be clear to merge now. Was able to produce a build locally.


⚠ Bofrost.be has degraded performance

In 89ca609, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1594 ms

Resolved: Bofrost.be performance has improved in 52cf6a1 after 12 minutes.


Update sbt-header to 5.1.0

Updates de.heikoseeberger:sbt-header from 5.0.0 to 5.1.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a nice day!

Codecov Report

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

@@           Coverage Diff           @@
##           master     #170   +/-   ##
=======================================
  Coverage   97.68%   97.68%
=======================================
  Files          15       15
  Lines         173      173
  Branches        2        2
=======================================
  Hits          169      169
  Misses          4        4

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 765b965...0ecaa3a. Read the comment docs.


Flyin - interactive debugging

Tracking issue
_https://github.com/flyteorg/flyte/issues/4284_
Why
After users launch VSCode server and fix their failed tasks, users may want to rerun the tasks with the original inputs to make sure they work fine. In this PR, I provide a way to let users effortless rerun their tasks with original inputs. Also, it is easy to partially change the original inputs.
What
In runtime, vscode decorator will generate a python script.
from {task_module_name} import {task_name}
from flytekitplugins.flyin import get_interactive_debugging_inputs

def get_inputs():
    task_module_name, task_name = "{task_module_name}", "{task_name}"
    working_dir = "{working_dir}"
    return get_interactive_debugging_inputs(task_module_name, task_name, working_dir)

if __name__ == "__main__":
    inputs = get_inputs()
    print({task_name}(**inputs))

End to end usage
With the following workflow, user might run pyflyte run --remote demo.py wf --a 10 --b 0. Since t1 will return a // b, there  will be an exception (devision by zero) and the vscode server will be launched because run_task_first is set to true.
# demo.py
from flytekit import task, workflow

@task()
@vscode(run_task_first=True)
def t1(a: int, b: int) -> int:
    return a // b

@workflow
def wf(a: int, b: int) -> int:
    out = t1(a=a, b=b)
    return out

After connecting to vscode server, users can see interactive_debug.py.
# interactive_debug.py.
from demo import t1
from flytekitplugins.flyin import get_interactive_debugging_inputs

def get_inputs():
    task_module_name, task_name = "vscodedemo", "t1"
    working_dir = "/tmp/flyte-xq72oaka/sandbox/local_flytekit"
    return get_interactive_debugging_inputs(task_module_name, task_name, working_dir)

if __name__ == "__main__":
    inputs = get_inputs()
    # You can modify the inputs! Ex: inputs['a'] = 5
    print(t1(**inputs))

With interactive_debug.py, users can debug the task with original input. For example, they can handle the case of b being equal to 0.
from flytekit import task, workflow

@task()
@vscode(run_task_first=True)
def t1(a: int, b: int) -> int:
    if b == 0:
        return 0
    return a // b

@workflow
def wf(a: int, b: int) -> int:
    out = t1(a=a, b=b)
    return out

Then run the interactive_debug.py to make sure the task works fine.
Screenshots

Also, do we want to create launch.json as well? we can do it in the later pr. this pr already contains lots of changes

After playing with it a bit, the overall experience is awesome! I am able to change inputs modify code and reflect correctly. but it is quite unintuitive that I have to manually call python interactive_debugging.py to trigger the script. If we can have launch.json, I can just simply click the side bar to start the script. Can you also add launch.json generation code?

After playing with it a bit, the overall experience is awesome! I am able to change inputs, modify code and reflect correctly. but it is quite unintuitive to manually call python interactive_debugging.py to trigger the script. If we can have launch.json, I can just simply click the side bar to start the script. Can you also add launch.json generation code? The json is simple and easy to generate

Definitely! Nice suggestion. Thank you @ByronHsu .

Questions & thoughts:

I don't really understand the run_task_first=True argument to the decorator makes it seem that the task should be run first, before it drops into vscode.  Right?  That means there should be an exception waiting for me that's been caught.  How do I print the exception?  If that's not what's happening we should rename the arg.
It's not clear what should be happening in this case that's different than the normal operation of the vscode plugin.  Is it just the generation of the file?
Thoughts on the _flyin_interactive_debug:

let's call it something else, without the underscore. how about flyin_interactive_entrypoint.py
I think the file should be structured so that:

without user changes, if the user just runs it, it proceeds normally.  That is, if we turn this feature on, go to vscode, and run the generated script without changing anything, the task should proceed as if the @vscode decorator was never used.  Is this possible?
it should mirror and use as much code from entrypoint.py as possible.

Isn't it a bit dangerous to allow the user to modify the code and then run it?  Doesn't this break all sorts of guarantees around Flyte?  It'd be nice if there were a top level flag at the task execution layer that somehow indicates to the rest of the system that this output is non-production.

Hi @wild-endeavor , thank you for the great suggestions.

run_task_first is in this PR https://github.com/flyteorg/flytekit/pull/1997. If we set it to true, the decorator would first run the task and only launch vscode server if the task fails. https://github.com/flyteorg/flytekit/blob/master/plugins/flytekit-flyin/flytekitplugins/flyin/vscode_lib/decorator.py#L218
Yes this PR would not affect the decorator behavior in runtime. It only generate files that users can use to debug.
flyin_interactive_entrypoint.py is good!

without user changes, if the user just runs it, it proceeds normally.

Yes it currently behaves like you mentioned since we will detect if it is a local execution https://github.com/flyteorg/flytekit/blob/master/plugins/flytekit-flyin/flytekitplugins/flyin/vscode_lib/decorator.py#L215
That is, user do not have to change anything when they use the generated file.

it should mirror and use as much code from entrypoint.py as possible.

No problem, let me look into it.

Isn't it a bit dangerous to allow the user to modify the code and then run it? Doesn't this break all sorts of guarantees around Flyte? It'd be nice if there were a top level flag at the task execution layer that somehow indicates to the rest of the system that this output is non-production.

I think this will be a problem but not in this PR, since this PR only generate files that users can use to debug in VSCode server. However, another feature that we are working on is resuming the workflow in VSCode. And in that one, we should handle the thing you mentioned.

Added the explanation of run_task_first to the PR description!


Training resorting to CPU despite having gpus

Hi
I have downloaded a docker image, and i am trying to train a model, but i am running into an issue. I get 2 warnings and 1 error. The first warning is
UserWarning: FSDP is not applicable for single-GPU training. Reverting to DDP.
Second warning is
UserWarning: Using cfg.model.init_device='meta'is only valid when using FSDP! Reverting tocfg.model.init_device='cpu'`
and the error is
ValueError: Precision.AMP_BF16 is not supported for CPU training.
I have 2 gpus, despite that the traning is resorting to CPU. Can anyone help?
Thanks

Hi @srivassid , when you are attempting to run training, can you confirm that you are using the composer train/train.py ... command and not python train/train.py ...? This is a launcher script that will detect your N GPUs and launch N processes with the correct env vars.
You do not have to worry about the cfg.model.init_device device warnings, that is downstream of this.
If using composer ... doesn't solve the issue, could you share some more information about your system (what types of GPUs). Could you also confirm that if you open a python shell and type >>> torch.cuda.device_count(), you get 2?

Hi
Thanks for getting back to me
yes i am using composer. But when i run torch.cuda.device_count() i get 0, i have 3080ti.
I tried to install nvidia drivers but couldn't. Can you tell me how can i resolve this?
Thanks

I tried to install nvidia drivers but couldn't. Can you tell me how can i resolve this?

Do you mean the nvidia container runtime? https://github.com/NVIDIA/nvidia-container-runtime/

But that is a separate image right?

No, the container runtime automagically puts the nvidia drivers into what ever image you are running when it sees the --gpu all.

Hi @ianpurton
Yes that worked. I can run train.py now. But i have a new problem. I get an out of memory error.
CUDA out of memory. Tried to allocate 3.07 GiB (GPU 1; 11.77 GiB total capacity; 9.44 GiB already allocated; 1.07 GiB free; 9.56 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
Any ideas how to fix this?
Thanks

Hi @abhi-mosaic
I tried to set it to auto and 4, but i got the following error
/usr/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 1 leaked shared_memory objects to clean up at shutdown   warnings.warn('resource_tracker: There appear to be %d ' ERROR:composer.cli.launcher:Rank 0 crashed with exit code -7.
What does it mean and how can i resolve this?
Thanks

That resource_tracker error is a spurious thing from our StreamingDataset library, it should not cause any problems, it just throws a scary warning at the end of the script.
Were there any error logs above this line?

Hi @srivassid , this is a torch2 + FSDP bug which we are fixing in the upcoming version of Composer.
For now, there are a couple workarounds mentioned in this thread here: https://github.com/mosaicml/llm-foundry/issues/221#issuecomment-1563657307

Hi @abhi-mosaic
I tried one of the workarounds and now i am facing a new issue
2023-06-13 06:22:04,353: rank0[708][MainThread]: DEBUG: composer.utils.checkpoint: Saving checkpoint to mpt-125m/ep{epoch}-ba{batch}-rank{rank}.pt
Traceback (most recent call last):
  File "/docker/mnt/llm-foundry/scripts/train/train.py", line 260, in <module>
    main(cfg)
  File "/docker/mnt/llm-foundry/scripts/train/train.py", line 249, in main
    trainer.fit()
  File "/usr/lib/python3/dist-packages/composer/trainer/trainer.py", line 1796, in fit
    self._train_loop()
  File "/usr/lib/python3/dist-packages/composer/trainer/trainer.py", line 2027, in _train_loop
    self.engine.run_event(Event.BATCH_CHECKPOINT)
  File "/usr/lib/python3/dist-packages/composer/core/engine.py", line 293, in run_event
    self._run_nonlogger_callbacks(event)
  File "/usr/lib/python3/dist-packages/composer/core/engine.py", line 475, in _run_nonlogger_callbacks
    self._run_callbacks(event, callbacks)
  File "/usr/lib/python3/dist-packages/composer/core/engine.py", line 467, in _run_callbacks
    cb.run_event(event, self.state, self.logger)
  File "/usr/lib/python3/dist-packages/composer/core/callback.py", line 96, in run_event
    return event_cb(state, logger)
  File "/usr/lib/python3/dist-packages/composer/callbacks/checkpoint_saver.py", line 346, in batch_checkpoint
    self._save_checkpoint(
  File "/usr/lib/python3/dist-packages/composer/callbacks/checkpoint_saver.py", line 400, in _save_checkpoint
    os.symlink(os.path.relpath(saved_path, os.path.dirname(symlink)), symlink)
PermissionError: [Errno 1] Operation not permitted: 'ep0-ba10-rank0.pt' -> 'mpt-125m/latest-rank0.pt'
2023-06-13 06:22:57,238: rank0[708][MainThread]: DEBUG: composer.core.engine: Closing the engine
2023-06-13 06:22:57,239: rank0[708][MainThread]: DEBUG: composer.core.engine: Closing callback ConsoleLogger
2023-06-13 06:22:57,240: rank0[708][MainThread]: DEBUG: composer.core.engine: Closing callback SpeedMonitor
2023-06-13 06:22:57,241: rank0[708][MainThread]: DEBUG: composer.core.engine: Closing callback LRMonitor
2023-06-13 06:22:57,241: rank0[708][MainThread]: DEBUG: composer.core.engine: Closing callback MemoryMonitor
2023-06-13 06:22:57,242: rank0[708][MainThread]: DEBUG: composer.core.engine: Closing callback RuntimeEstimator
2023-06-13 06:22:57,242: rank0[708][MainThread]: DEBUG: composer.core.engine: Closing callback CheckpointSaver
2023-06-13 06:22:57,243: rank0[708][MainThread]: DEBUG: composer.core.engine: Post-closing callback ConsoleLogger
2023-06-13 06:22:57,244: rank0[708][MainThread]: DEBUG: composer.core.engine: Post-closing callback SpeedMonitor
2023-06-13 06:22:57,244: rank0[708][MainThread]: DEBUG: composer.core.engine: Post-closing callback LRMonitor
2023-06-13 06:22:57,245: rank0[708][MainThread]: DEBUG: composer.core.engine: Post-closing callback MemoryMonitor
2023-06-13 06:22:57,246: rank0[708][MainThread]: DEBUG: composer.core.engine: Post-closing callback RuntimeEstimator
2023-06-13 06:22:57,246: rank0[708][MainThread]: DEBUG: composer.core.engine: Post-closing callback CheckpointSaver
ERROR:composer.cli.launcher:Rank 0 crashed with exit code 1.
Waiting up to 30 seconds for all training processes to terminate. Press Ctrl-C to exit immediately.
Global rank 0 (PID 708) exited with code 1
ERROR:composer.cli.launcher:Global rank 0 (PID 708) exited with code 1

I already gave write permission to train.py and ran the command with sudo. Can you help me out?
Thanks

For the sake of keeping the issues consistent with their titles, and since it sounds like the original issue has been addressed, I'm going to close this.
@srivassid if you're still running into checkpointing issues, could you please open up a new github issue directed at that.


Promise support

Closed by https://github.com/baalexander/node-portscanner/commit/84db3949968eb534b289f901241a7fa97275a7dd


Use NodeClass readiness to capture failure scenarios

Description
What problem are you trying to solve?
Currently, there's ways in the provisioning loop that it's possible for a NodeClass to not yet be ready for NodeClaim launching. Right now, we either capture this through the Create call receiving a non-nil error that is of the type NodeClaimNotFoundError.
We'd like to move this concept from being an error to being a first-class set of status conditions that rolls up into the NodeClass readiness. When a NodeClass isn't ready and a launch is attempted with it, we will auto-delete the NodeClaim so that provisioning can pick-up the failure and try again with a different NodePool. During provisioning, when a NodePool is being evaluated for readiness, it will rely on the NodeClass readiness condition to determine whether that NodePool should be used.

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Duplicate of #493, closing


Pub/Sub: samples audit and cleanup

Please rename:

pubsub_publish_with_error_handling_that_scales to pubsub_publish_with_error_handler

Please remove:

the region tag pubsub_publish but keep the region tag pubsub_quickstart_publisher and the sample.

Please add:

pubsub_subscriber_async_pull_custom_attributes (docs)
pubsub_publisher_retry_settings

Regarding the pubsub_publisher_retry_settings sample, the Go client does not support custom retry settings. This is noted in the docs:

not all client libraries support custom retry settings; see the API Reference documentation for your chosen language


Problem with amp-analytics and adobe's list variables

we're having problems to collect list variables from Adobe Omniture sent through the amp-analytics tag.
All parameters defined into the key "requests" in amp-analytics is collected properly by Adobe, except list variables. In the request the variables are being sent with the correct format.

The code used into request key:
			"requests": { 				"base": "https://${trackingServer}/b/ss/${accounts}/1/AMP-0.1/s${random}", 				"pageView": "${base}?AQB=1&vid=CLIENT_ID(amp_id)&pageName=${canonicalPath}&v3=D=pageName&c6=${documentReferrer}&v63=${documentReferrer}&c5=${canonicalUrl}&v10=${canonicalUrl}&c11=${ampdocUrl}&v11=D=c11&c12=${ampdocUrl}&c17=Multi AMP&v17=Multi AMP&c18=prisa&v18=D=c18&c19=el pais&v19=D=c19&c20=${canonicalHost}&v20=D=c20&c39=${title}&v39=D=c39&c45=${title}&v45=D=c45&c57=D=User-Agent&v57=D=User-Agent&j=amp&v0=${queryParam(0p19G)}&AQE=1&L2=23380%3B32455%3B38911%3B24796%3B40110%3B76591%3B68464%3B76590%3B75097%3B30342%3B75441%3B23903%3B37231%3B46997%3B25091%3B146640%3B16438%3B9757%3B75914%3B15145&L3=80945", 				"share": "${base}?AQB=1&vid=CLIENT_ID(amp_id)&pageName=${canonicalPath}&v3=D=pageName&c6=${documentReferrer}&v63=${documentReferrer}&c5=${canonicalUrl}&v10=${canonicalUrl}&c11=${ampdocUrl}&v11=D=c11&c12=${ampdocUrl}&c17=Multi AMP&v17=Multi AMP&c18=prisa&v18=D=c18&c19=el pais&v19=D=c19&c20=${canonicalHost}&v20=D=c20&c39=${title}&v39=D=c39&c45=${title}&v45=D=c45&c57=D=User-Agent&v57=D=User-Agent&j=amp&pe=lnk_o&v69=${eVar69}&events=${events}&AQE=1&L2=23380%3B32455%3B38911%3B24796%3B40110%3B76591%3B68464%3B76590%3B75097%3B30342%3B75441%3B23903%3B37231%3B46997%3B25091%3B146640%3B16438%3B9757%3B75914%3B15145&L3=80945" 			},
We have this problem only with AMP requests. The web version requests have this parameter with the same format, but in this case works properly.
Thanks
Francisco.

Francisco. Sorry for the delayed response, we don't often check or respond to issue requests on this repo. In the future, please contact Adobe Customer Support for assistance


[fix] Post Sorting and Timestamp Display in Your Posts Section

✨ Codu Pull Request 💻
Fixes #(1088)

Pull Request details

Added support for sorted Drat posts

Added support for sorted Published posts

In published posts section as the post is published update post is done so updatedAt is set to slightly greater time than published so use 1 minute time difference to distinguish between a published post and a post that published but updated later
Any Breaking changes
NONE
Associated Screenshots

@NiallJoeMaher could you have a look on this one?


Bug: Sticky notes reset font size while resizing

It appears them to respect the chosen "medium/small" font option rather than actual font size

Can you post steps to repro?
I can reproduce a regression when resizing using shift — is that what you meant?

to reproduce, create sticky note with font size of (3000px) then hold shift and left click on corner point; expected nothing to happen and allow me to downsize it; instead it multiplies font size until overflow

happens with smaller font size (23px) too when have padding

Got it. All of that seems to be related to this regression: https://github.com/excalidraw/excalidraw/pull/5710 /cc @ad1992
Can you check if it works properly for you here? https://excalidraw-oia7z37wn-excalidraw.vercel.app/

Closing in favor of https://github.com/excalidraw/excalidraw/issues/5842


[stable/airflow] When upgrading the existing airflow chart, scheduler.connections changes do not take effect

Describe the bug
When the stable/airflow chart is first installed, the internal add-connections.sh script adds connections to airflow defined by the scheduler.connections: section of the values.yaml file. When the chart is subsequently upgraded with changes to the scheduler.connections: section, the changes do not take effect. I would have expected that the current connection values were reflected in airflow.
Version of Helm and Kubernetes:
Helm v3.2.4
K8S 1.17
Which chart:
stable/airflow
How to reproduce it (as minimally and precisely as possible):
Install stable/airflow with one set of values in scheduler.connections:
Upgrade the existing stable/airflow chart with a different set of values in scheduler.connections:

If there is an appetite for this, this PR https://github.com/helm/charts/pull/23500 removes the connection before adding it.
I checked that removing the connection does not return an error code if the connection does not exist. We can also add an config extra variable gating this functionality if that's better.


Invalid Json if the internal server just returns html status codes

When wrapping a server with endpoints like .well-known/ready or similar, running the lambda fails with internal server error 502 "invalid json reponse".

Close due to no response. Please re-open if you can provide an reproducable example.


Error while saving the integration project for the first time

Description
When we create an integration project using below reproducing steps, and try to save all the artifacts for the first time after the step 6, below error has occured.

Steps to Reproduce

Create a new integration project
Create a new rest API
Add a post method to the API
Add a Data Mapper mediator to the API Compartment
Load sample  testin.json and  testout.xml files to the data mapper mediator and map the fields

testin.json
{
   "tickers":"GIB"
}

testout.xml
<filingHistory>
    <tickers>
        GIB
    </tickers>
</filingHistory>

Add a respond mediator after the data mapper mediator
Go to the file-> SaveAll to save the artifacts

Affected Component
IntegrationStudio
Version
8.1.0
Environment Details (with versions)
No response
Relevant Log Output
No response
Related Issues
No response
Suggested Labels
No response

This issue is fixed via https://github.com/wso2/integration-studio/pull/1153


iCloud Calendar Sync

I'd love if we could get iCloud Calendar sync.
Any chance of that happening?

One-way, readonly sync and event import from iCal into Full Calendar should be possible pretty trivial based on Full Calendar's built in support. I will have to do more research on two-way sync, see #1 for a similar discussion for GCal.

I too +1 on iCal Calendar sync.

+1 on iCal for me too... don't want to do the "iCal->GCal->Obsidian-sync" procedure...
BTW it's not that important to me the two way sync, so a read-only feaure in short time is much better than a read-write approach in (much?) more time. Anyway thanks for your work!!!

Hi all -- closing this thread in favor of #27 since I'm trying to make the Issues more atomic. Thanks!


MyAnimeList Integration

for us weeb degenerates who use this app would appreciate to look up our animus with ease
pls & thx

That's a great idea for an external plugin you could write!
Using cerebro will be way better than my CLI app

Done


Refresh token when using AccessTokenCredentials

Sorry to ask this here, but i have been reading everything that is out there on the Google API docs and I might be missing something, cause I can't find the way to refresh a token using Oauth2client when using AccesstokenCredentials as the method to connect. ( It is my own user, I pre-consent it manually )
This is the code I got so far minus the youtube part :
def authenticate():
    httplib2.debuglevel = 4
    emp_token = None
    acc_token = "ya29.egIWwZowy7GF_QfmFlAu6nIKTlhXTwKrKj52Ir"
    refresh_token = "1/ve9S0oXGwlfv7GE7MKG7wk066X8k70KmPnU"
    user_agent = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'
    flow = AccessTokenCredentials(acc_token, user_agent)
    http = httplib2.Http('.cache')
    http = flow.authorize(http)
    service = build('youtube', 'v3', http=http)

Could I get to refresh the token when a (401 Unauthorized) jumps in, but how do I refresh the token ?
Thanks

I have the same problem with AccessTokenCredentials, I have tried this without luck!
http = httplib2.Http()
credentials = AccesTokenCredentials(access_token, token_name)
if credentials.acces_token_expired or credentials.invalid:
    http = credentials.refresh(http)
else:
    http = credentials.authorize(http)

service = build('analytics','v3',http=http)

Trying with an expired token raise this error:
The access_token is expired or invalid and can\'t be refreshed.')
oauth2client.client.AccessTokenCredentialsError: The access_token is expired or invalid and can't be refreshed.

Can anyone help me with that? I have been struggling with this by way too much time, I already have read the oauth2client.client documentation and also some examples. I am missing something that might be too simple.
Thanks in advance!

Searching in the class AccesTokenCredentials I found:
http://oauth2client.readthedocs.io/en/latest/source/oauth2client.client.html

Credentials object for OAuth 2.0.
Credentials can be applied to an httplib2.Http object using the authorize() method, which then signs each request from that object with the OAuth 2.0 access token. This set of credentials is for the use case where you have acquired an OAuth 2.0 access_token from another place such as a JavaScript client or another web application, and wish to use it from Python. Because only the access_token is present it can not be refreshed and will in time expire.

So the answer for this is no. We can't refresh tokens from this class, the problem was that I wasn't reading the documentation carefully. So for solving this issue, we need to use another class to create the credentials if that is the case. The class we should use is oauth2client.client.OAuth2Credentials for this.
I hope this helps, this issue should be closed now.

This thread is 1st result when searching for "The access_token is expired or invalid and can't be refreshed". After having found this and reading up about Oauth2 I think I know what is happening:
When providing only the access_token calling credentials = client.AccessTokenCredentials(access_token, 'my-user-agent') then the access token expires within 1 hour (as the expires_in in the secret is set to 3600). As the token is expired and we give no way to refresh the token, the authentication fails.
In the flow of OAuth2, grant type "authorization code" this is what happens (taken from this oauth intro, which IMO is the best primer on OAuth2 out there:

you get the client_id/client_secret pair from the google api console and store it in client_secret.json
you start the flow via client.flow_from_clientsecrets('client_secret.json', ...) and store the result into e.g. credentials.json
you authorize your api call with credentials.json loaded via oauth2client.file import Storage.get()

Now in my case I wanted to run without the credentials.json file (because I'm trying AWS lambda and wanted to have the secrets in the environment), so I wanted to replace step 3 by something else.
In step 2 according to the oauth2 docs you'd get a authorization_code and optionally a refresh_token. Looking at credentials.json I didn't see the authorization_code, only the refresh token:
{
  "client_id": "xyx.apps.googleusercontent.com",
  "revoke_uri": "https://accounts.google.com/o/oauth2/revoke",
  "id_token": null,
  "id_token_jwt": null,
  "invalid": false,
  "token_expiry": "2017-12-28T23:32:45Z",
  "client_secret": "...",
  "_class": "OAuth2Credentials",
  "scopes": [
    "https://www.googleapis.com/auth/contacts.readonly"
  ],
  "access_token": "...",
  "user_agent": "my-user-agent",
  "token_info_uri": "https://www.googleapis.com/oauth2/v3/tokeninfo",
  "_module": "oauth2client.client",
  "token_response": {
    "expires_in": 3600,
    "token_type": "Bearer",
    "access_token": "...",
    "refresh_token": "..."
  },
  "refresh_token": "...",
  "token_uri": "https://accounts.google.com/o/oauth2/token"
}

Now, gladly, there is a method how to authorize with a expired access_token, client_id and client_secret, when also providing the refresh_token (as described in this stackoverflow thread):
credentials = client.GoogleCredentials(None,
        client_id,
        client_secret,
        refresh_token,
        None,
        "https://accounts.google.com/o/oauth2/token",
        'sms-proxy')

access_token (1st argument) can be put to None, as in my case the access_token is not valid anymore anyway, also the expires_at (5th argument) can be set to None.

Thank you for creating this issue, however, this project is deprecatedand we will only be addressing critical security issues. You can read moreabout this deprecation here.
If you need support or help using this library, we recommend that you ask yourquestion on StackOverflow.
If you still think this issue is relevant and should be addressed, pleasecomment and let us know!


The pivotx and pivoty values are confusing, please standardize

When trying to set the pivot point to the bottom right corner of an object floating in the middle of the artboard, I had to remember all the translate applications on that object's parent element
Current experience:
ParentA is size of the artboard and has translateY of 20, and ChildB is 4x4. In order to set pivotY at bottom of ChildB, I have to set it at 24 (by remembering both the size of ChildB and account for ParentA's adjusted position)
Suggested experience:
Make it so pivotY can also be set in percentages (in this case I would want 100%) and make the 0–100 values correspond to the object's bounds and not the artboard bounds

Thanks for the suggestion! I will definitely consider this.
Shape Shifter started out as a tool for creating vector graphics for Android. If you look at the documentation for Android's VectorDrawable class, you'll see it closely mirrors a lot of Shape Shifter's input values. The pivotX and pivotY were initially meant to mirror the android:pivotX and android:pivotY attributes that are listed on that page.
It was only later that I decided to start making it more useful to web developers as well... so if you happen to be a web developer (or an Android developer unfamiliar with VectorDrawables), I'm not surprised that some stuff may be confusing. (#172 is another example too). This is something I want to improve.
Unfortunately I'm still a bit of a noob when it comes to web (I've been developing Android code for 6 years and only started learning web about 6 months ago). So if you see anything else, feel free to file more bugs/suggestions!


iOS feature: All assets page.

What does this implement/fix? Explain your changes.
iOS feature: All assets pages support ERC 20 and more.
Does this close any currently open issues?
If it fixes a bug or resolves a feature request, be sure to link to that issue.
…
Pull request type

Put an x in the boxes that apply

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

Where has this been tested?
…
Any other comments?
…

@OneKeyHQ/ios


feat: add loading and icon prop to Button

Types of Changes
What types of changes does your code introduce? Put an x in all the boxes that apply:

[ ] Bug fix (non-breaking change which fixes an issue, please reference the issue id)
[ ] New feature (non-breaking change which adds functionality, make sure to open an associated issue first)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] My change requires a change to the documentation
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] All new and existing tests passed

Description
[Place a meaningful description here.]

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


No need cask param for installing

It's not needed but it makes it obvious that you are installing a cask and not a formula. I believe that if there is a cask and a formula with the same name it would be required. That's not the case with Applite, but I see no reason to remove the --cask parameter.


ur: prepare release 0.2.0

Codecov Report

Merging #96 (d87ba59) into master (9980372) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #96   +/-   ##
=======================================
  Coverage   95.55%   95.55%
=======================================
  Files           5        5
  Lines         698      698
=======================================
  Hits          667      667
  Misses         31       31

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 9980372...d87ba59. Read the comment docs.


fix: label related accessibility issues with FavoriteEntity

Hey, I just made a Pull Request!
Fix some accessibility issues with FavorityEntity. Allows component to be selected using role based selectors and fixes use with screen reader. Closes #26033.

https://github.com/user-attachments/assets/cef4b3b1-a2b5-40b3-8bca-a9e41a119eec

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

@benjdlambert any change this could get included in the next release? 🙏🏻

@kmikko, i just rolled back some of the MockStarredEntites changes, not sure whats the best way to do that, and don't want to block getting this in the release so ended up using the existing API's instead.

@kmikko, i just rolled back some of the MockStarredEntites changes, not sure whats the best way to do that, and don't want to block getting this in the release so ended up using the existing API's instead.
Wondered if it should be something like MockStarredEntities.create({ initialEntities: [...] }) or something instead, but we can take that later.

Looks good, thanks a lot!


Switch to Compose 1.3

After px comparison with Figma output it seems that 0.6 is the right adjustment for Circular Pro. Though there are subtle differences anyway (font antialiasing)


Tree traversal in X86_64

I used a Circular array Queue in C so i just copied it here.

@Liikt Linked lists are horrible data structures. While I can see some of their educational appeal I don't think we should advocate them. Data structures using linear memory are pretty much always better, even in operations where linked lists should win out (except for very uncommon access patterns or a huge amount of elements)

bfs_queue is there.


[C++ API] safe string to int64 conversion

In short:
strings::safe_strto64("+1", &value)

Throws an error because of the +.
I wrote an Op to read data in the LIBSVM format, which is the following:
<label> <index1>:<value1> <index2>:<value2> ....
The sample data provided at the LIBSVM site uses +1 as label instead of only a 1.
The safe conversion throws an error because of the +:
int64 value;
string label("+1");
OP_REQUIRES(ctx, strings::safe_strto64(label, &value),
            errors::InvalidArgument("Label ", label,
                                    " is not a valid int64."));

Traceback when calling the op in python:
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1022, in _do_call
    return fn(*args)
  File "/usr/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1004, in _run_fn
    status, run_metadata)
  File "/usr/lib64/python3.5/contextlib.py", line 66, in __exit__
    next(self.gen)
  File "/usr/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 466, in raise_exception_on_not_ok_status
    pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: Label +1 is not a valid int64.
	 [[Node: DecodeLibsvm = DecodeLibsvm[OUT_TYPE=DT_INT64, num_features=123, _device="/job:localhost/replica:0/task:0/cpu:0"](shuffle_batch)]]

Is this the wanted behaviour and should I handle this before calling the conversion?

Yes, you should handle the leading + before calling strings::safe_strto64.


Feature: Hexbin Charts

Originally posted by crashMOGWAI.  For original issue and full discussion, click here.
Have you guys discussed adding support for hexbin charts in the future?

Note that RBokeh has hexbin plots.  As RBokeh uses the exact same BokehJS, one could convert the R-parts to Python, and you would have a version for the Python Bokeh (see discussion in bokeh/bokeh#4786).


Ignore list / Ostrich mode

There's a few problems with the ignore list / ostrich mode

[ ] BUG Filtering message bodies/headlines doesn't seem to work at all anymore
[ ] BUG Ostrich mode uses cookies to determine if it's activated, which means the setting is only applied when toggled in dashboard on the machine you are using
[ ] ENHANCEMENT Provide an advanced mode to match against regexes (off by default)
[ ] ENHANCEMENT Allow filtering on usernames, even though it'll be a shitstorm
[ ] ENHANCEMENT Use an altered moderator "reply deleted" view for replies in topics, so they can still be viewed after clicking a + button

b2a1d6c6d004d06033f36f5586a08ca2749f6cf0 resolved "Filtering message bodies/headlines doesn't seem to work at all anymore" and "Ostrich mode uses cookies to determine if it's activated, which means the setting is only applied when toggled in dashboard on the machine you are using"

3df601c42632514c8263fbc11c60baf2ed556c37 resolves "Use an altered moderator "reply deleted" view for replies in topics, so they can still be viewed after clicking a + button"

Regex support likely won't be coming.


Get country code from phone number.The phone number have without "+" symbol  with country code

I am using google phone lib .I have problem in partial/full search in following scenario .
The phone number saved in DB as National number ( Ex:<PHONE_NUMBER>) .
The search number have country code without + symbol  (Ex: 17324  or<PHONE_NUMBER>1)
now try to get the country code from given number(Ex: 17324  or<PHONE_NUMBER>1) .is this scenario can we get country code?  I tied but  I can't achieve this by  any lib methods.

@ArockiaJerald,
Thank you for using libphonenumber!
To get the country code of a given number first you need to parse() the input number first. If the input number to parse() API is not in E.164 format (i.e having +) , you need to provide the region from which it is being dialed.
Java code snippet:
PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
PhoneNumber phoneNumber = phoneNumberUtil.parse("17324569871", "US");
int countryCode = phoneNumber.getCountryCode();

I'll close this as it's not an issue with the library. Please consider joining the discussion group if you'd like to discuss this further.


Refactor frontend

Fixes #37
Changes
In the first weeks the team mainly focussed on creating a first prototype. Thus the quality of the frontend code was not a priority. This Issue aims to refactor the frontend so that new features can be integrated more easily in the future.
Specifically the following things were done:

Rewriting all the components to functional components
Clear seperation between stateful and stateless components and ensuring that state is updated correctly
creating a clear flow of information by using properties
export inline style into extra css files
remove unnecessary functions and comments or split/merge functions
update descriptions of functions
extracting api backend calls into the api folder
renaming folders, functions, parameters and variables
bug fixes

Screenshots
If the frontend has been changed, please add a screenshot of before and after the changes have been made
Checklist before merge
Developer's responsibilities

[ ] Approved by at least one developer: enter reviewer here
[ ] Pull request build has passed
[ ] Production backend has been updated to reflect new features and fix bugs
[ ] tested locally (in all browsers if frontend)
[ ] updated the docs
[ ] added tests where necessary

Product Owner's responsibilities

[ ] No issues have been found on staging environment
[ ] Product Owner has approved the release

Please merge the current DEV branch into yours to prevent merge conflicts

Please merge the current DEV branch into yours to prevent merge conflicts


Update dailyMessageQuotaUsed metric description

Adding more explanation to the most confusing value - dailyMessageQuotaUsed. Which is a cumulative value holding the total number of messages used since 00:00 UTC up to the point of time being asked. It cannot be split into time grains (each time grain will hold the cumulative daily value, and not the time slice value).

@astaykov : Thanks for your contribution to the Azure documentation! The author, @anirudhcavale, has been notified to review your proposed change.

Hi @anirudhcavale ,
Thanks for your feedback!
Requested changes are made.

ping? Bringing that up.


Add decimal mod operator

Hi @majetideepak, @aditi-pandit, could you please help review this PR?

Should we update the docs https://facebookincubator.github.io/velox/functions/presto/decimal.html ?

Thanks for the feedback @mbasmanova, I have updated the docs. Could you please take another look?

@pramodsatya Can you fix the conflict ?

@pramodsatya Can you fix the conflict ?

Fixed, thanks for pointing it out @kgpai.


Allow using shorthand notiations in the Query function when defining names of tables

Problem area
Query("TableName") does not accept shorthand notations to reference the table. This can be painful when you have a lot many columns and you're performing a join with another table which clashing columns.
In this scenario, you are required to prefix the entire TableName to the column, likes so
Query("TableName").Select("TableName.Column")
You can see how this would be painful in writing columns in the hundreds.
Suggested fix
Allow the Query object to accept a shorthand accessor for the table name which can be used to prefix the required columns.
Like so,
Query("TableName tb).Select("tb.Column")
This will make things so much easier.

You can do it by writing
var query = new Query("TableName as tb").Select("tb.Column")

check this example
in addition you can expand the selection to avoid repeating the table name many time
var query = new Query("TableName as tb").Select("tb.{ColumnA, ColumnB, ColumnC}");

This will output the following SQL
SELECT [tb].[ColumnA], [tb].[ColumnB], [tb].[ColumnC] FROM [TableName] AS [tb]

I wasn't aware this could be done. It's super helpful. I'm wondering why it doesn't say anywhere in the documentation.
Thanks btw

Yes the docs is outdated now.


Stop Item Animation doesnt works sometimes

https://www.dailymotion.com/video/x8i3a0t

Above are a few issues I noticed with the item animations. It seems that stopping the animations doesn't seem to work most of the time, even when it's showing that no animation is being played at the time. Also the item animation detection or playing seems to sometimes be a tick or two late as you can see in a few places. Just thought you should know, did I do something wrong? This is version 4.4 by the way on the second 2023.1 snapshot

The issue here is that getting animations is only client+-side, and setting animations is both client and server-side which can cause issues. This is due to the system I have in place for syncing animations limiting me to this.

Ah, ok. So do you think it'll be possible to fix or no? Totally ok if not, you've put in an incredible amount of work for this plugin already.

I don't think I could without overcoplicating things. Either way, you don't have to check if no animation is active, since it won't let you override active animations unless you stop them first.


Parse error due to select option order

// OK
let result = BNF.parse(`program ::= "aa" | "a";`);
let tree = Compile(result);
let syntax = tree.parse("aa");
console.log("result", result, "syntax", syntax);

// Not OK
let result = BNF.parse(`program ::= "a" | "aa";`);
let tree = Compile(result);
let syntax = tree.parse("aa");
console.log("result", result, "syntax", syntax);

Edit by @AjaniBilby:
Answer

I'm adding this as a automated test case just in case for future builds, however NPM is down for me and I want to make sure the two syntaxes from the different BNFs should make identical output syntax trees

"bnf-parser": "^3.1.1",
I will try to make a better report. (already deleted everything after it failed xD)

I managed to replicate your error - I have no idea how I didn't run into this when I have an actual programming language running off this as the syntax parser 😅

All good. I needed a bnf parser yesterday and started to built one. Then I realized that, what I reported above, won't be handled by my parser and so I started to look out for existing solutions. (yours is the fist I checked)

I thought it was a bug just like you, but I realized it's actually expected behavior - the library assumes not parsing the whole string is a failure. So in your second case it would match the "a", then the program ends, but there is still a remaining character so it fails.
For both cases to be valid you would need to write it like this:
case1 ::= ( "a" | "aa" )+
case2 ::= ( "aa" | "a" )+

All good. I needed a bnf parser yesterday and started to built one. Then I realized that, what I reported above, won't be handled by my parser and so I started to look out for existing solutions. (yours is the first I checked)

Yeh, that's basically why I started mine as well, plus why I adapted BNF syntax to have the ommit character for easy clean up and stuff - the only thing I'm really unhappy with atm is the fact that sometimes it gives the wrong reference range for a syntax error.

i.e. if you have a syntax error in a function, it complains it can't parse at the start of the function body, instead of at the statement in the function

@tippfelher, this might be a bit late, but I was thinking there are probably other people like you who expect a more non-deterministic select statement.
I was wondering do you think it would be worth adding a variant of || form |, where if you use || it will match all cases then return the best (consumes the most tokens) result, and | always just returns the first match. Thoughts?


Cerebras and SambaNova

Cerebras and SambaNova are fast inference solutions similar to Groq. Any chance of supporting them?

@amittos  hello. you can refer this document.
Seem this Cerebras can be used in this way but SambaNova don't implement by langchain.


Extend usages to any project

Hi, I was trying to figure out https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/issues/630 with this plugin, but I noticed that this plugin starts with:
pluginManager.withPlugin("java-gradle-plugin") {

which means I can't just apply it to my project to scan all build.gradle/build.gradle.kts files too.
Would it be possible to extend the scanning to those files? It's great for authoring plugins, but for discovering issues in potentially huge projects, where multiple third party plugins are applied (which don't use this plugin), it cannot be used :(
I ended up applying to includeBuild("gradle/plugins") as a fallback, at least that covers the majority of the Gradle scripts. I have a feeling this should be called out in the README.md too.
Also in a similar vein it would be nice to be able to analyze all the buildEnvironment for these. It only recognized usages in my own .class files, but I suspect there are others from third party plugins too that I'm not knowing about.

Thanks for the issue. I recognize that the current limitation to analyzing only plugins means that this plugin misses a lot. I would be interested to hear your implementation suggestions for how to scan build.gradle[.kts] files. Could we still rely on the ASM/bytecode-based approach?
As far as analyzing third parties, I also agree that that would be useful. I don't have a lot of time, though (as my delay in response might already have indicated). PRs are welcome, or I also accept sponsorship to cover costs.

Are those proj.jars available on any available configuration/classpath? Are they part of the buildEnvironment? Is Project.getBuildScript() not useful?

As far as I saw, it's only exposed as an internal classloader (it's not a named dependency in a configuration, imagine being able to do buildscript { deps { exclude(build.gradle) } } 😅). I saw there's a special ClassLoaderScope for each module, and inside it for each build script.
project.buildScript is a very high level DSL, we need to go way lower, sadly. I looked at buildscript.scriptClassPath first, but it was empty in my example project having no plugins.


Will there be a Simplified Chinese version considered in the future?

Now the demand of users in mainland China is particularly large, will the author consider withdrawing from the Simplified Chinese version?

Hi @gt1226500986  all languages are support. For simplified Chineses see for example: https://github.com/josdemmers/Diablo4Companion/issues/3
But so far nobody has send me a system preset that I can share.
If you want to create one yourself see the guide here:
https://github.com/josdemmers/Diablo4Companion/wiki/How-to-create-a-new-System-Preset
If you are going to create one yourself please send it to me afterwards so that I can share it with everyone.
Let me know if you have any questions.

What I mean is how to set the theme interface of the software in Chinese, I think it is only in English

You can download the source code, change the text in the UI display, and then compile it yourself.

@gt1226500986
Currently the interface is in English only. I can work on translations later but that wont be any time soon.
Would like to work on new features first.
Also if you have a working Chinese system preset please share it here so I can add it to the download manager.
Makes it a lot easier for other Chinese users.

All affixes and aspects are now translated.

@gt1226500986 Are you still interested in translating the app to Simplified Chinese?

Localization is now possible, see wiki for more info:
https://github.com/josdemmers/Diablo4Companion/wiki/How-to-create-translations


Delete rebuilds series index when series to be deleted are only found in cache

System info:
InfluxDB 1.7.0
Steps to reproduce:

Start influxd with tsi1
Run insert someMeasurement value=1 in the influx client to create a new series that only lives in the cache.
Run delete from "someMeasurement" where time=0  in the influx client (which deletes nothing because I do not have any data with time=0)

Influx now decides to rebuild the series index files because the series "someMeasurement" does not exist in any tsm file so it is considered "deleted".
If I do a restart of InfluxDB between 2. and 3. it will not rebuild the series on the delete.
This issue is related to #9015, because it causes deletes to be very slow when the series only exist in cache. I get the profile below when running a query like delete from "someMeasurement" where time=0 in a loop.

Expected behavior:
The series index should only be rebuilt when we actually delete data.
Actual behavior:
The series index is rebuilt if it only exist in cache.
Additional info:

Did you have a chance to look at my PR @rbetts?


Route mpi.dask.org to dask-mpi.readthedocs.io

@aterrel would it be possible to have mpi.dask.org route to dask-mpi.readthedocs.io ?

sorry about the delay. Github is not a great way to get ahold of me, better ways:

email<EMAIL_ADDRESS>(where several people can get your email)
email<EMAIL_ADDRESS>email<EMAIL_ADDRESS>ping me on NF Slack
ping me on my cell (which you have)

I've tried getting people to manage this stuff but it seems only martey and me.
I've pointed dns for mpi.dask.org to readthedocs. Now someone on the dask side need to point

cc @kmpaul my guess is that this is a setting that you'll have to set in readthedocs

Done.  Thank, @aterrel and @mrocklin!


bug: LIKE with custom escape char produces incorrect results

Describe the bug
Repro test case for CometExpressionSuite:
  test("like with custom escape") {
    val names = Seq("", "a_b", "d_e_f")
    withTempDir { dir =>
      val filename = "/tmp/percent.parquet"
      names.toDF("a").write.mode(SaveMode.Overwrite).parquet(filename)
      spark.read.parquet(filename).coalesce(1).createOrReplaceTempView("t")
      val query = sql("select a from t where a like '%$_%' escape '$'")
      checkSparkAnswerAndOperator(query)
    }
  }

Output:
== Results ==
!== Correct Answer - 2 ==   == Spark Answer - 0 ==
!struct<a:string>           struct<>
![a_b]
![d_e_f]

Steps to reproduce
No response
Expected behavior
No response
Additional context
No response

note that we could choose to fallback to spark if there is a custom escape character


chore: remove vscode config [skip ci]

:tada: This PR is included in version 1.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Dataset in example honest notebook

I notice in the paper and the example Jupyter code, the output of ASSISTANT(response), or the statement is truncated, I would like to know the reason. Thank you so much!

To extract functions (such as being honest), we're collecting neural activity at every token position in the response, as described in step 2 of the LAT scan in the paper.

Thank you for you reply!
I notice in the data process https://github.com/andyzoujm/representation-engineering/blob/f869e2c587341594343612f47048e1b86084fe93/examples/honesty/utils.py#L41, the input tokens are truncated, I want to know why not input all the tokens into the model? Thank you!

It was a design choice since unfinished sentences don't have strong indication of honesty/dishonesty. But it might not matter that much.

what is the difference between [true false] and [false true] in the label for honesty dataset

it is corresponding to the pairs in the train, in the train we randomly shuffle so some them have [0] index as honesty and some of them have [1] index as honesty

Why true_statements is only considered for both training and testing? Why were false_statements not considered to generate untruthful_statements?
Why are train labels randomly shuffled? Shouldn't they have [1] for honest_statements and [0] for untruthful_statements?

For untruthful_statements, according to the stimuli template, why not set {template_str.format(type='a dishonest')}, instead using the 'untruthful'?

Why true_statements is only considered for both training and testing? Why were false_statements not considered to generate untruthful_statements?
Why are train labels randomly shuffled? Shouldn't they have [1] for honest_statements and [0] for untruthful_statements?

I have the same question. Why randomly shuffling the labels is preferred? What's the purpose? Upon checking the dataset, I found that approximately half of it takes the order [False, True]. How does this design choice affect the training process of RepReader?
num_reversed_labels = 0
num_reversed_concepts = 0
for i in range(512):
    if dataset['train']['labels'][i] == [False, True]:
        num_reversed_labels += 1
        if 'untruthful' not in dataset['train']['data'][2*i]:
            num_reversed_concepts += 1
print(num_reversed_labels)      # output: 266
print(num_reversed_concepts) # output: 0

@andyzoujm , I'm trying to understand the dataset in honesty_function_dataset(). Only the true_statements are being used to create the train_set and I'm not sure why. I believe @Dakingrai also asked a similar question, but it was never answered

@shamikbosefj i am not a contributor to this repo but my guess is that since the true_statements are getting truncated with the functional stimulation paradigm and prefixed with "imagine you are a truthful..." or "imagine you are an untruthful...", it doesn't really matter.  In the end, the statement is not completed so it leaves the door open to whatever ideas for completion, depending on whether the LLM is asked to be truthful or untruthful . This is probably better than creating each pair out of a true and false statement because it reduces the amount of variability, and so the activations are likely to vary only on the honesty/dishonesty axis.  Now I'm sure they could have also used false statements to create separate pairs (again, truncating the statement and prefixing as described) but they don't need that many pairs so it probably just wasn't necessary.
As to you other question, they need to shuffle in order to create variability on the axis of interest (honesty/dishonesty) I believe. Otherwise, when PCA is done on the difference, there's no variability over the pairs in the direction of the vector in that axis of interest.

Thanks for the explanation, @joshlevy89
In the line following the shuffled test data, there's a strange operation
reshaped_data = np.array([[honest, untruthful] for honest, untruthful in
                          zip(honest_statements[:-1], untruthful_statements[1:])]).flatten()
test_data = reshaped_data[ntrain:ntrain*2].tolist()

Why does it skip the first and last of the honest and untruthful sets respectively? Is this just a way to ensure that the same text isn't picked as honest and untruthful?

@shamikbosefj hm, i'm not sure about that line either.  i'm not sure what it's trying to accomplish.  i think you could probably be replaced by something simpler...
test_data = np.array(combined_data[ntrain:ntrain+ntrain//2]).flatten().tolist()

@justinphan3110 @joshlevy89 I think there's a bug in the dataset creation of the honesty_function_dataset() in utils.py . The size of the train_data is 1024, but the size of train_labels is 512 (See attached screenshot). This is different to the test_data where both data and labels have the same size (512). If this is not a bug, can someone please explain this discrepancy?

@shamikbosefj i am not a contributor to this repo but my guess is that since the true_statements are getting truncated with the functional stimulation paradigm and prefixed with "imagine you are a truthful..." or "imagine you are an untruthful...", it doesn't really matter. In the end, the statement is not completed so it leaves the door open to whatever ideas for completion, depending on whether the LLM is asked to be truthful or untruthful . This is probably better than creating each pair out of a true and false statement because it reduces the amount of variability, and so the activations are likely to vary only on the honesty/dishonesty axis. Now I'm sure they could have also used false statements to create separate pairs (again, truncating the statement and prefixing as described) but they don't need that many pairs so it probably just wasn't necessary.


64-bit indirect push disassembles incorrectly

Putting this fix on hold as the current plan is to switch to Intel's XED which will solve this problem and others.


high level feature requests

My ideal plotting package would be a mix of R's base plot, lattice & ggplot2 with interactivity:

a polymorphic plot function like in base plot
a high level formula based API like in lattice  for standard plots + the  3D plots of lattice
the more low level layer based api of ggplot2 to create custom plots
interactivity (html based & desktop GUI) -> already there but more could be added like pop-up with more info when you hover over a part of the plot or linked plots: when you select a datapoint in one plot you see the corresponding data in another plot highlight/expand/animated etc.
the look (colors, legend) of ggplot2

It's a little unclear what the actionable items here are...

Hi Stefan,
It’s not meant as a small concrete ticket that can be quickly implementend and checked off. It’s more of a wishlist for the high level design/API i’d like to see in Gadfly. Something to think about (or not) for future version of Gadfly.
Van: Stefan Karpinski
Verzonden: vrijdag 20 maart 2015 14:40
Aan: dcjones/Gadfly.jl
CC: Steven Sagaert
It's a little unclear what the actionable items here are...
—
Reply to this email directly or view it on GitHub.


Add Phoenix 2.0

Hi! I took over Phoenix and rewrote it from the ground up. This pull request is to ask to add/reinstate the cask. Let me know if there’s something to correct! Thanks!
Reference: kasper/phoenix#33

Thank you for the contribution. It was merged directly as a8d1812420d912e8408386d52234238efe3ba77a to keep commit history cleaner. Your contribution is still credited to you.

Thanks!


[Bugfix] fix load local safetensors model

i think i roughly understand the fix, can you explain though? i'm a bit confused on in what case this would happen?

i think i roughly understand the fix, can you explain though? i'm a bit confused on in what case this would happen?

When load local safetensors model, use_safetensors flag was missed currently. And it will go to load default .bin format model.

Sorry, I think I broke this. Fix makes sense.


Bug: Missing characters in Azure AI Service streaming due to split data packets

Describe the bug
When streaming data from the Azure AI service, the to_json_stream method in the OpenAI::HTTP module may fail to correctly parse incoming JSON chunks if they are split across multiple data packets. This results in JSON parsing errors and incomplete or missing data in the application.
To Reproduce

Set up/configure Azure OpenAI service.
Observe the incoming data, particularly when JSON objects are split across multiple data packets.
Notice incomplete or missing data in the response.

Expected behavior
The to_json_stream method should correctly handle incoming data, even when JSON objects are split across multiple data packets. It should accumulate data until a complete JSON object is received, then parse it and pass it to the provided user_proc.
Solution
A potential solution is to modify the to_json_stream method to accumulate data in a buffer until a complete JSON object is received. Here's a suggested (and tested) modification of the method:
http.rb
def to_json_stream(user_proc:)
  proc do |chunk, _|
    @buffer ||= ""
    @buffer += chunk
    while (match = @buffer.match(/(?:data|error): (\{.*\})/i))
      data = match[1]
      @buffer = @buffer[match.end(0)..-1]  # Remove the processed data from the buffer
      begin
        user_proc.call(JSON.parse(data))
      rescue JSON::ParserError => e
        Rails.logger.error { "JSON parsing error: #{e.message}" }
      end
    end
  end
end

@pasilastbot, yes, it's entirely possible that the issue you've experienced with the OpenAI API could be related to the bug I reported. The core of the problem is how the library handles incoming data chunks, especially when JSON objects are split across multiple data packets. If a token or any other piece of data is split between two packets, the current implementation might not capture it correctly, leading to missing or incomplete data. The proposed fix aims to ensure that data is accumulated and processed correctly, regardless of how it's chunked in the incoming stream.

Thank you @mrbokx your fix solved an issue that we have! ❤
Any plans to create a PR?

@ScotterC
Reproducing this issue locally isn't challenging. Every lengthy response from Azure AI comes with missing characters. I've submitted a PR with a fix, which I've tested extensively, and it works flawlessly.

@atesgoral 's fix for this released in 5.2.0 - thank you for flagging @mrbokx !


libtxt: Text shadow

Add support for text shadowing as in CSS.
Or point me to it if it already exists; doesn't seem to be in TextStyle or TextDecoration.

So this won't be addressed any time soon?

Looks like this is currently prioritized as something we want in the intermediate term but not something we need immediately.

The example uses BackdropFilter, which is likely quite slow. We should ideally implement ImageFilter (https://github.com/flutter/flutter/issues/13489) and then use that.

customer: dream is also interested in this.  We'll need to discuss their needs in more detail.

Eagerly hopeful for an easier way to achieve this, other than the BackdropFilter option

This is indispensable!

Need this really. Not a workaround but a solid feature.

PR:
https://github.com/flutter/flutter/pull/22449 (framework)
https://github.com/flutter/engine/pull/6385 (engine)

Text shadows have landed with https://github.com/flutter/flutter/commit/bdc3dda5f298f50b432faaffe71730c4fe26afda
To enable shadows, provide a List to TextStyle.shadows:
import 'dart:ui';
...
Text(
  'Hello, world!'
  style: TextStyle(
    shadows: <Shadow>[
      Shadow(
        offset: Offset(10.0, 10.0),
        blurRadius: 3.0,
        color: Color.fromARGB(255, 0, 0, 0),
      ),
      Shadow(
        offset: Offset(10.0, 10.0),
        blurRadius: 8.0,
        color: Color.fromARGB(125, 0, 0, 255),
      ),
    ],
  ),
),
...


/checks/check_license.sh: line 50: git: command not found

See https://github.com/SymbiFlow/sphinxcontrib-hdl-diagrams/pull/68/checks?check_run_id=2358606670#step:4:36
===========================
Check SPDX identifier
===========================

Checking ./Makefile
Checking ./compat/setup.py
Checking ./compat/sphinxcontrib_verilog_diagrams/__init__.py
Checking ./docs/Makefile
Checking ./docs/code/nmigen/counter.py
Checking ./docs/code/verilog/adder.v
Checking ./docs/code/verilog/carry4-bits.v
Checking ./docs/code/verilog/carry4-whole.v
Checking ./docs/code/verilog/counter.v
Checking ./docs/code/verilog/dff.v
Checking ./docs/code/verilog/lut4.v
Checking ./docs/code/verilog/lutff.v
Checking ./docs/code/verilog/muxcy.v
Checking ./docs/code/verilog/xorcy.v
Checking ./docs/conf.py
Checking ./setup.py
Checking ./sphinxcontrib_hdl_diagrams/__init__.py
Checking ./tests/Makefile
Checking ./tests/code/nmigen/counter.py
Checking ./tests/code/verilog/adder.v
Checking ./tests/code/verilog/fullAdder.v
Checking ./tests/code/verilog/halfAdder.v
Checking ./tests/test.py
/checks/check_license.sh: line 50: git: command not found

FYI - @daniellimws

I think you can assign this to me.

@daniellimws adding git to https://github.com/SymbiFlow/actions/blob/main/checks/Dockerfile#L2 should fix it.
RUN apt-get update -qq \
 && DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \
    ca-certificates \
    git \
 && apt-get autoclean && apt-get clean && apt-get -y autoremove \
 && update-ca-certificates \
 && rm -rf /var/lib/apt/lists/*

Seems the reason why the test did not catch this was that this module didn't have any third_party repositories. See https://github.com/mithro/actions/runs/2372286130?check_suite_focus=true


Likely ID10T error, but enableOnSeries data labels not working

Just was looking for an example on how to get ONLY one series to show labels:
I used this:
dataLabels: {
enabledOnSeries: [1],
offsetY: -20,
style: {
fontSize: '12px',
colors: ["#304758"]
}
},
Doesn't seem to work, enable: true works fine, but that setting seems to honor it's setting regardless of what array I pass to enabledOnSeries. (Also would be nice to know if it was 0 or 1 indexed, but I tried both to same result. Full test below, tried to do a CodePen: https://codepen.io/steelon169/pen/GRKQKXR?editors=1111 But seem to be failing at that as well. LOVE the apexcharts.js btw, will be working with them more I am sure.

Confirmed: ID10T error
Problem: Wrong version of ApexCharts, I had this downloaded:
ApexCharts v3.6.12
Upgrading to this (which was what the sample codepen from Apex was using):
https://cdn.jsdelivr.net/npm/apexcharts
Which is ApexCharts v3.8.5
Made the following options work with no issues:
dataLabels: {
enabled: true,
enabledOnSeries: [0],
offsetY: 0,
style: {
fontSize: '20px',
colors: ["#fff"]
}
},
Thanks for the Updated version!
I will continue to stumble along.


[AIRFLOW-1696] fix dataproc version label error

Dear Airflow maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[x] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-1696

Description

[x] Here are some details about my PR, including screenshots of any UI changes:
Replaces '+' with '-' when adding the Airflow version label to the dataproc operator to comply with the Dataproc label character set. Thus, '1.10.0dev0+incubating' is reported as '1-10-0dev0-incubating'

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:
Modifies tests.contrib.operators.test_dataproc_operator.test_build_cluster_data

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Codecov Report

Merging #2676 into master will decrease coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2676      +/-   ##
==========================================
- Coverage   71.78%   71.69%   -0.09%
==========================================
  Files         154      154
  Lines       11808    11808
==========================================
- Hits         8476     8466      -10
- Misses       3332     3342      +10

Impacted Files
Coverage Δ

airflow/task_runner/bash_task_runner.py
93.33% <0%> (-6.67%)
:arrow_down:

airflow/utils/helpers.py
53.44% <0%> (-2.88%)
:arrow_down:

airflow/jobs.py
79.06% <0%> (-0.46%)
:arrow_down:

airflow/models.py
87.14% <0%> (+0.04%)
: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 ebe715c...1681818. Read the comment docs.

LGTM