Bitwise complement operator ~

I have expression using  [Flags]enum type where I would like to reset a bit using like "b = ~a;"
See also https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/bitwise-and-shift-operators#bitwise-complement-operator-
Is there a way to get this done?  opposite operation with | works just fine.

I forgot to handle the unary operators in #237 ... It should be pretty straightforward to implement.


Docs site down

I noticed the webdocs were down , I don't know if opening an issue for signaling this is appropriate but it may help... 😃

Thanks, checking...

Fixed, appreciate the rapid notice.


[chore] Make build_[catalyst|linux].sh executable

GitHub Issue (If applicable): #
PR Type
What kind of change does this PR introduce?

Build or CI related changes

What is the current behavior?
build_catalyst.sh and build_linux.sh are NOT executable after cloning the repository.
build_catalyst.sh fails to build with latest Xcode (14.2)
What is the new behavior?
build_catalyst.sh and build_linux.sh are executable after cloning the repository.
build_catalyst.sh build fine with latest Xcode (14.2)
How changes were validated:

Other information

Internal Issue (If applicable):

/azp run


[WIP] Pull-to-refresh

This is a WIP the original concept https://github.com/GitHawkApp/GitHawk/issues/1580#issuecomment-410926148
had the branches in there but it seemed a bit cluttered.
Thoughts and feedback are appreciated!

I forgot again! Whoops. I’ll update that.
Sent with GitHawk

TODO

[ ] Switch to snapkit

Closing as its stale


The split tabs are inconsistent after creating a folder if applying 'Filter by prefix' previously

Storage Explorer Version: 1.21.2
Build Number: 20210924.14
Branch: hotfix/1.21.2
Platform/OS: Windows 10/Linux Ubuntu 20.04/MacOS Big Sur 11.5.2
Architecture: ia32\x64
How Found: Ad-hoc testing
Regression From: Not a regression
Steps to Reproduce

Expand one storage account -> Blob Containers.
Create a blob container -> Open the view options panel.
Select 'Prefix' -> Type a letter to the 'Filter by prefix' box.
Hide the view options panel.
Click 'New Folder' ->  Keep the default name -> Click 'OK'.
Split the tab.
Observe the split tabs -> Check whether they are consistent.

Expected Experience
They are consistent.
Actual Experience
They are inconsistent.

@v-kellyluo this is by design. When you do a split, we do not preserve the full path history/path segments.


CUDA initialization fails with "CUDA not found" error on import

I am trying to import and use bitsandbytes on my system but am encountering an issue with CUDA initialization.
System Details:
OS: Ubuntu 22.04
GPU: NVIDIA RTX 3090
CUDA version: 12.2
Python version: 3.10
bitsandbytes version: 0.40.0
Steps to reproduce:
Installation: pip install bitsandbytes
import test:
import bitsandbytes
try:
  bitsandbytes.cuda
  print("CUDA initialized")
except AttributeError:
  print("CUDA not found")

Output is "CUDA not found"
I have validated:
CUDA 12.2 is installed correctly
/usr/local/cuda/bin is in PATH
Basic CUDA operations like matrix multiplication work independently in PyTorch
However, bitsandbytes fails to initialize CUDA on import with just the "CUDA not found" error.
Could you please take a look? Providing any other debugging tips or minimal reproducible sample would also be appreciated.
Let me know if you need any other system details or logs to investigate further.

Bitsandbytes was not supported windows before, but my method can support windows.（yuhuang）
1  open folder J:\StableDiffusion\sdwebui，Click the address bar of the folder and enter CMD
or WIN+R, CMD  。enter，cd /d J:\StableDiffusion\sdwebui
2  J:\StableDiffusion\sdwebui\py310\python.exe -m pip uninstall bitsandbytes
3 J:\StableDiffusion\sdwebui\py310\python.exe -m pip uninstall bitsandbytes-windows
4 J:\StableDiffusion\sdwebui\py310\python.exe -m pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.1-py3-none-win_amd64.whl
Replace your SD venv directory file（python.exe Folder） here（J:\StableDiffusion\sdwebui\py310）

OR you are  Linux distribution (Ubuntu, MacOS, etc.)system ,AND CUDA Version: 11.X.
Bitsandbytes can support ubuntu.（yuhuang）
1  open folder J:\StableDiffusion\sdwebui，Click the address bar of the folder and enter CMD
or WIN+R, CMD  。enter，cd /d J:\StableDiffusion\sdwebui
2  J:\StableDiffusion\sdwebui\py310\python.exe -m pip uninstall bitsandbytes
3 J:\StableDiffusion\sdwebui\py310\python.exe -m pip uninstall bitsandbytes-windows
4 J:\StableDiffusion\sdwebui\py310\python.exe -m pip install https://github.com/TimDettmers/bitsandbytes/releases/download/0.41.0/bitsandbytes-0.41.0-py3-none-any.whl
Replace your SD venv directory file（python.exe Folder） here（J:\StableDiffusion\sdwebui\py310）


Added flag for checking the term colors

Hi,
I needed the possibility to disable the warning message, which occurs when a terminal with less than 256 colors is used. For that reason I added the POWERLEVEL9K_CHECK_TERM_COLORS environment variable for disabling the message.
Best Regards

Hey @Stazer - Makes sense! Thanks so much for upstreaming what you had done locally!
Thinking about this, I would prefer that we actually do the opposite. That is, I would like for the variable to be POWERLEVEL9K_IGNORE_TERM_COLORS and have it default to false. I think that's more aligned with the typical behavior of POSIX programs.
Secondly, since this is an introduction of a new feature, I'd like to merge it into next instead of master. I'll go ahead and change the merge target in this PR.
Would you mind making the update, above? Once you do, I'll pull it in =)

Additionally, may I add a similar configuration variable  POWERLEVEL9K_IGNORE_TERM_LANG for disabling the term lang warning message?

@Stazer - checks are failing.


[ConstraintSystem] Use fallback type constraint to default pack expansion

Generalizes DefaultClosureType into FallbackType constraint.

Binding of pack expansion types is delayed until solving but use
of Defaultable was preventing it from being considered early
because that constraint impacts binding set ranking, switching
to FallbackType constraint give us better semantics where pack
expansion type variables are going to be bound as soon as they
have a contextual type.

Resolves: rdar://110819621

@swift-ci please test

@swift-ci please test source compatibility

@swift-ci please test


Abhinav

It includes the latest edits from Felix. Please merge it to the main.

There is merging conflict. Can you look into them? Otherwise looks fine @apgahlot


An error occurred while Rails/UniqueValidationWithoutIndex

Expected behavior
Rubocop Rails should end without errors
Actual behavior
An error occurred while Rails/UniqueValidationWithoutIndex cop was inspecting .
Steps to reproduce the problem
I'm getting errors while running rubocop --auto-correct. Here's a trace of the error:
An error occurred while Rails/UniqueValidationWithoutIndex cop was inspecting <FILE_PATH>/app/models/coin.rb:21:2.
undefined method `method?' for #<RuboCop::AST::BlockNode:0x00005650ddcffbc8>
Did you mean?  method
               methods
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-rails-2.5.2/lib/rubocop/rails/schema_loader/schema.rb:48:in `block in each_table'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-rails-2.5.2/lib/rubocop/rails/schema_loader/schema.rb:47:in `each'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-rails-2.5.2/lib/rubocop/rails/schema_loader/schema.rb:47:in `each_table'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-rails-2.5.2/lib/rubocop/rails/schema_loader/schema.rb:34:in `build!'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-rails-2.5.2/lib/rubocop/rails/schema_loader/schema.rb:14:in `initialize'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-rails-2.5.2/lib/rubocop/rails/schema_loader.rb:46:in `new'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-rails-2.5.2/lib/rubocop/rails/schema_loader.rb:46:in `load!'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-rails-2.5.2/lib/rubocop/rails/schema_loader.rb:18:in `load'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-rails-2.5.2/lib/rubocop/cop/mixin/active_record_helper.rb:31:in `schema'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-rails-2.5.2/lib/rubocop/cop/rails/unique_validation_without_index.rb:36:in `on_send'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/cop/commissioner.rb:57:in `block (2 levels) in trigger_responding_cops'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/cop/commissioner.rb:128:in `with_cop_error_handling'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/cop/commissioner.rb:56:in `block in trigger_responding_cops'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/cop/commissioner.rb:55:in `each'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/cop/commissioner.rb:55:in `trigger_responding_cops'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/cop/commissioner.rb:32:in `block (2 levels) in <class:Commissioner>'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/ast/traversal.rb:50:in `block in on_begin'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/ast/traversal.rb:50:in `each'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/ast/traversal.rb:50:in `on_begin'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/cop/commissioner.rb:33:in `block (2 levels) in <class:Commissioner>'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/ast/traversal.rb:92:in `on_class'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/cop/commissioner.rb:33:in `block (2 levels) in <class:Commissioner>'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/ast/traversal.rb:13:in `walk'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/cop/commissioner.rb:44:in `investigate'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/cop/team.rb:119:in `investigate'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/cop/team.rb:107:in `offenses'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/cop/team.rb:44:in `inspect_file'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/runner.rb:283:in `inspect_file'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/runner.rb:231:in `block in do_inspection_loop'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/runner.rb:263:in `block in iterate_until_no_changes'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/runner.rb:256:in `loop'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/runner.rb:256:in `iterate_until_no_changes'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/runner.rb:227:in `do_inspection_loop'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/runner.rb:124:in `block in file_offenses'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/runner.rb:142:in `file_offense_cache'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/runner.rb:122:in `file_offenses'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/runner.rb:110:in `process_file'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/runner.rb:87:in `block in each_inspected_file'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/runner.rb:86:in `each'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/runner.rb:86:in `reduce'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/runner.rb:86:in `each_inspected_file'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/runner.rb:73:in `inspect_files'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/runner.rb:39:in `run'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/cli.rb:210:in `execute_runner'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/cli.rb:80:in `execute_runners'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/lib/rubocop/cli.rb:51:in `run'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/exe/rubocop:13:in `block in <top (required)>'
/usr/share/rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/benchmark.rb:308:in `realtime'
<HOME_PATH>.rvm/gems/ruby-2.6.6/gems/rubocop-0.75.1/exe/rubocop:12:in `<top (required)>'
<HOME_PATH>.rvm/gems/ruby-2.6.6/bin/rubocop:23:in `load'
<HOME_PATH>.rvm/gems/ruby-2.6.6/bin/rubocop:23:in `<main>'
<HOME_PATH>.rvm/gems/ruby-2.6.6/bin/ruby_executable_hooks:24:in `eval'
<HOME_PATH>.rvm/gems/ruby-2.6.6/bin/ruby_executable_hooks:24:in `<main>'

Here is the schema corresponding to that model, in case it helps:
  create_table "coins", force: :cascade do |t|
    t.string "name", null: false
    t.string "link"
    t.text "description", null: false
    t.float "price_usd"
    t.datetime "created_at", precision: 6, null: false
    t.datetime "updated_at", precision: 6, null: false
    t.string "full_name"
    t.integer "update_price_type"
    t.jsonb "descriptions", default: {}
    t.boolean "custom", default: false
  end

RuboCop version
0.75.1 (using Parser <IP_ADDRESS>, running on ruby 2.6.6 x86_64-linux)

That's quite an old version, could you confirm if this happens on the latest rubocop-rails? (v.2.9.1)

That's quite an old version, could you confirm if this happens on the latest rubocop-rails? (v.2.9.1)

This issue is a dup with https://github.com/rubocop-hq/rubocop-rails/issues/318#issuecomment-680248166 and has been resolved.
Can you update version of RuboCop (maybe >= 0.77) ? If you still have problems, please reopen the issue. Thank you.

This issue is a dup with https://github.com/rubocop-hq/rubocop-rails/issues/318#issuecomment-680248166 and has been resolved.
Can you update version of RuboCop (maybe >= 0.77) ? If you still have problems, please reopen the issue. Thank you.


Needs update to Nest 8

Hey Jay,
I upgraded to Nest 8 and nest-cookies didn't work. It says it can't resolve the httpAdapter. I forked the repo and did a pnpm up --latest , rebuilt the package and linked to it locally and now the error has gone away. Not sure I should PR the changes though.
Let me know, if I should.
Scott

v 1.3.0 now supports any Nest version above 7. No breaking changes between 7, 8, and 9 in terms of how the base code itself works. Sorry it took so long to get back to this


Disallow empty aggregation bits in attestations

https://github.com/ethereum/eth2.0-specs/pull/1780

Duplicate to #941


Add pragma mark to BasicViewController about GMUClusterRendererDelegate

I can't accept a PR until you sign the CLA. I'm going to close this PR for now. Please re-open once you have signed the CLA. Thanks!


LEAN-2402 -- Remove bundled data

@asouqi I update the PR and removed both loadBundledData & shared-data, plus any lingering functions left

Do we still need the manuscripts/data dependency?

@mnatsheh  there is still a couple of references under, which are used for in the front-parser.
src/transformer/bundles-data.ts


fix: panic caused by hashring not being built

Signed-off-by: Gaius<EMAIL_ADDRESS>
Description

Fix panic caused by hashring not being built.

Related Issue

Motivation and Context

Screenshots (if appropriate)
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.

Codecov Report

Merging #1928 (68a5238) into main (e0ec2b2) will decrease coverage by 0.24%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1928      +/-   ##
==========================================
- Coverage   43.17%   42.93%   -0.25%
==========================================
  Files         132      132
  Lines       16983    16983
==========================================
- Hits         7333     7291      -42
- Misses       9100     9142      +42
  Partials      550      550

Flag
Coverage Δ

Object-compatibility-e2etests
?

e2etests
?

unittests
42.93% <ø> (-0.25%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

client/daemon/peer/peertask_piecetask_poller.go
34.42% <0.00%> (-14.21%)
:arrow_down:

client/daemon/peer/peertask_conductor.go
57.14% <0.00%> (-1.16%)
:arrow_down:


sigh

welp ok
seems A1111 has had a fairly extensive HRfix rework that not only completely negates that nifty HRfix lock px slider entirely, but seems to have caused wild havoc in the masses.
this commit completely f&%#$ng reworks the entirety of the previous HRfix system to comply with the new "yeah it's just an upscaler" expectations, does some ugly garbo to the upscalers list routine because we absolutely must have "none" in there as well as completely broken and non-functional "latent" and "latent (nearest)" which aren't even returned in the stupidly non-working-right api call to retrieve upscalers anyway asdl;fkjgas;dkljasdlfgk
yeah i'm a bit frustrated can you tell

Well, that's a bit... Sad. What exactly did high res fix did again? Maybe we could emulate old high res fix using two calls to the img2img API?

it'd basically prevent "incorrect" generations with undesirable multiple subjects for images being generated that are larger than the base training data images - previously you'd specify the firstpass width/height which worked great for our needs, but now you specify a scale-by-x value, which would be "downscaled" automatically when openOutpaint got the response due to the reticle/bounding box -_- the liar checkbox tries to sneak that kind of behavior back in by giving SD false values for desired width/height by dividing the dimensions by the hrfix scale factor

Yeah, we need some reworking on the hrfix new features now...

Yeah, we need some reworking on the hrfix new features now...

lol well i think that's what i tried to do with this PR ;)

Okay, will give this a look a bit later tonight.

Oh, nvm, I think I was testing on an older version of the webui.

yeah, that's kinda something i was wondering about; pushing this might make users on an outdated webUI suddenly not have working HRfix, but i can't exactly leave in the previous firstphase values since the latest webUI console will yell about it every time it's used :/

We can keep this as a parallel branch for now, or we could add a basic preflight on initialization (host connection check) just to check see which parameters cause errors.

Well, at least it is pretty vocal and easy to detect : )

figured i'd check for use_scale_latent_for_hires_fix in the startup call to /options since it no longer exists with the new HRfix changes


Switch to using spring-asciidoctor-backends

to get the new look and feel and features for the reference docs.

Do we need to do anything in our downstream projects?

No. I tested it against spring-cloud-task and spring-cloud-gateway, and they worked correctly and had the new features (night mode being the most obvious, but there's lot's more). The structure within each project that made the docs work for the old formatting stuff still works for the new stuff. :)


Request: Stat difference options?

Hi! Just wanted to say, love your mod, I've been using it as long as I've been playing the game. I've had a lot of fun with it!
However, I noticed in the notes/concept art for this mod you mentioned that dog players have more stamina, more speed, but less health; I was wondering, could there be a version or an option to remove those differences? I would rather have the same stats as everyone else personally, especially as in my group I like to play defensive against monsters the most, and having less health makes it a bit harder, lol.
Thanks!

Hi!
I'm glad you like the mod, I did not implement the stat changes in the mod, the only gameplay difference is you're shorter!
The design sheet was made by someone else, and it was enough trouble to make the whole mod work without having individual stats hehe


mfellows/win2012r2 v1.0.1 missing metadata.json

Was trying to use your example box from the development Vagrantfile and get a 404 when trying to pull the box (because 1.0.0 is specified) and looking in the Atlas repo I see that 1.0.1 is the latest, but trying to pull it I get an error about metadata.json missing.
The "metadata.json" file for the box 'mfellows/windows2012r2' was not found.

As per #23,  I think I have the box (or at least one of them) on my work machine - i'll try to upload today. Something fishy going on!

In the process of uploading a 1.0.1 box from home - this could take a while (thanks Windows). cc: #23

Box has been uploaded (finally). I haven't pulled the thing all the way back down, but running vagrant init mfellows/windows2012r2; vagrant up --provider virtualbox starts the download process.
Let me know how you go, closing for now.

@mefellows Still getting the error about a missing metadata.json. I'm grabbing the box "by hand" to pop it open and see if there is something about the internal structure that is missing or corrupted.

Upon opening the 1.0.1 virtualbox.box file it internally is showing a version 1.0.0 and the metadata.json does exist in that folder. I wonder if the fact that the internal version and external versions don't match is what is causing the metadata.json error. Did you repackage the box using vagrant on your local machine and perhaps it didn't bump the version before you uploaded?

It appears that the structure of this one is actually set up incorrectly. I compared to a Vagrant box built using Packer and it only has the Vagrantfile/metadata.json/*.vmdk/box.ovf in the .box file, where this one has it nested layers deep.

Upon unpacking and repacking only the contents of the 'virtualbox' folder into the box file I was able to successfully add and up the box from my local Vagrant repository server.

 Re-opening so that I can upload a valid one. Thanks for following this up @dragon788.

Just a side note here - have tried for the past 3 days straight uploading latest box to no avail. 4th time lucky (hint: caffeinate -sim)

OK have pushed box back up after a vagrant box repackage ....

OK overnight I pulled the latest and it came down - closing!

I can now pull the 1.0.1 and vagrant up, but the example Vagrantfile still requires 1.0.0 of this box.

Thanks Stefan - have updated that file.


IsFieldChangedInTrigger to support String fields

IsFieldChangedInTrigger only supports SObjectField, please change it to support String fields or add the below class that I've been using.
We need string fields to prevent the pointless conversion to SObjectFields when retrieving a list of fields from other methods such as get all source fields from the transformer.
public with sharing class IsStringFieldChangedInTrigger extends nebc.TriggerContextBooleanFunction  {

    private String field;

    public IsStringFieldChangedInTrigger(String field) {
        this.field = field;
    }

    public override Boolean isTrueFor(SObject oldRecord, SObject newRecord) {
        return oldRecord == null || oldRecord.get(field) != newRecord.get(field);
    }
}

Do you think that being able to read nested fields like 'Account.Parent.Name' matters here?
I think not because generally we're dealing with trigger contexts and they would never have a nested field.
If we don't allow nested fields, then the neatest thing is to add extra constructors to the existing classes. That gets my vote, but what do you think?


feat: add models for video engagement dropoff (FC-0051)

This adds one user-facing model (fact_video_engagement) and one internal model (int_videos_per_subsection) in order to support a chart that displays how many learners engaged with videos within a specific section or subsection. The macro items_per_subsection is meant to make it easier to create similar intermediate models for other item types (like problems or pages).

Thanks for the pull request, @SoryRawyer! Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
Please let us know once your PR is ready for our review and all tests are green.

@Ian2012 @bmtcril do either of you have suggestions for resolving this build error? Is this similar to the other issues I've had, where I'm lacking permissions to run certain steps?

Yeah that error is related to not having write on the repo, I haven't found a way around it yet so we should just consider those non-blocking for now.

@SoryRawyer 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.


FlatList scrolling stops on Android

Description
Scrolling in FlatList can stop on Android (tested on Sony Xperia XZ, Android 8.0.0). If we scroll back to items we have already seen there will be no stops. Not reproducible on iOS. See it on the gif below - when we scroll down there are pauses.
React Native version:
System:
OS: macOS Mojave 10.14.6
CPU: (4) x64 Intel(R) Core(TM) i5-4278U CPU @ 2.60GHz
Memory: 335.98 MB / 8.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 12.16.1 - ~/.nvm/versions/node/v12.16.1/bin/node
Yarn: Not Found
npm: 6.13.4 - ~/.nvm/versions/node/v12.16.1/bin/npm
Watchman: Not Found
Managers:
CocoaPods: 1.6.0 - /Users/guliash/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
Android SDK:
API Levels: 21, 23, 25, 26, 27, 28, 29
Build Tools: 23.0.1, 25.0.2, 26.0.1, 26.0.2, 26.0.3, 27.0.2, 27.0.3, 28.0.2, 28.0.3, 29.0.0, 29.0.2, 29.0.3
System Images: android-16 | Intel x86 Atom, android-16 | Google APIs ARM EABI v7a, android-16 | Google APIs Intel x86 Atom, android-18 | Google APIs Intel x86 Atom, android-19 | Google APIs Intel x86 Atom, android-21 | Google APIs Intel x86 Atom, android-21 | Google APIs Intel x86 Atom_64, android-23 | Google APIs Intel x86 Atom, android-25 | Google Play Intel x86 Atom, android-28 | Google APIs Intel x86 Atom, android-28 | Google Play Intel x86 Atom, android-29 | Google APIs Intel x86 Atom
Android NDK: Not Found
IDEs:
Android Studio: Not Found
Xcode: 11.2.1/11B500 - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_181 - /usr/bin/javac
Python: 2.7.10 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: 16.11.0 => 16.11.0
react-native: 0.62.2 => 0.62.2
npmGlobalPackages:
react-native: Not Found
Steps To Reproduce

Open the provided demo on Android device.
Scroll list. You should see stops.

Expected Results
No stops while scrolling on Android.
Snack, code example, screenshot, or link to a repository:
https://github.com/guliash/flat-list-scroll-issue

I have the same problem, posted a comment in another open issue I found first.
here is my env
System:
OS: macOS 10.15.5
CPU: (8) x64 Intel(R) Core(TM) i5-8257U CPU @ 1.40GHz
Memory: 25.88 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 10.16.3 - /usr/local/bin/node
Yarn: Not Found
npm: 6.14.5 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.9.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 13.6, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
Android SDK:
API Levels: 28, 29
Build Tools: 28.0.3, 29.0.2, 29.0.3
System Images: android-29 | Google Play Intel x86 Atom, android-30 | Google APIs Intel x86 Atom, android-R | Google APIs Intel x86 Atom
Android NDK: Not Found
IDEs:
Android Studio: 4.0 AI-193.69<IP_ADDRESS>14223
Xcode: 11.6/11E708 - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_221 - /usr/bin/javac
Python: 3.7.3 - /Users/pablogil/anaconda3/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: ^16.13.1 => 16.13.1
react-native: 0.63.2 => 0.63.2
npmGlobalPackages:
react-native: Not Found

Updated sample to use 0.64.0 https://github.com/guliash/flat-list-scroll-issue
The issue is still reproducible.
https://user-images.githubusercontent.com/5244258/111900426-96a88300-8a43-11eb-82f7-2b535592e968.mp4


Requesting a new latest release of NPD

We are looking to update the OS image  of node problem detector. The change is already in current master - https://github.com/kubernetes/node-problem-detector/blob/b586bd9231ee90dc1c9b8afe1e2281b638d5571e/Makefile#L78
We wanted to request for a new latest stable release with Debian as base image.

Looks like v0.8.13 already contains the fix: https://github.com/kubernetes/node-problem-detector/releases/tag/v0.8.13
Closing this issue now.
/close


Failed to install CUDArt on Windows 7

I have Julia 0.4.1 and CUDA 6.5 installed on my PC.
When I tried to install CUDArt.jl, I got the following erros:
    nvcc --shared --compiler-options="/wd4819" --linker-options= wrapcuda.c

-o libwrapcuda.dll
Internal error
NMAKE : fatal error U1077: '"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
v6.5\bin\nvcc.EXE"' : return code '0xc0000005'
Stop.
===============================[ ERROR: CUDArt ]================================
LoadError: failed process: Process(cmd /C 'C:\Program Files (x86)\Microsoft Vis ual Studio 12.0\Common7\Tools\..\..\VC\vcvarsall.bat' amd64 & nmake -f Windows.m k, ProcessExited(2)) [2]
while loading C:\Users\liu.julia\v0.4\CUDArt\deps\build.jl, in expression start
ing on line 23
===============================================================================
If anyone had the same problem? or any help from you?
Thank you so much.
Gengdai

I'm no help when it comes to Windows, but it looks like it can't find some Visual Studio file. If I were you, I'd start poking around this file.

@timholy I tried many times. I don't know what I have changed but now it works. Probably I didn't set environment variables for CUDA properly. Thank you so much for your quick reply.

Glad you fixed it.


RuntimeError: Only Tensors created explicitly by the user (graph leaves) support the deepcopy protocol at the moment

I got this problem when I tried to call SelfSupervisedLearner like the example in Pytorch lightning. Do you have any suggestion for this
model = SelfSupervisedLearner(
        resnet,
        lr=LR,
        image_size = IMAGE_SIZE,
        hidden_layer = 'avgpool',
        projection_size = 256,
        projection_hidden_size = 4096,
        moving_average_decay = 0.99
    )

How did you solve this problem, I have met the same problem?

You need to check the PyTorch lightnight version and install all the library requirements. Simply, this code works well when you run it on Colab


Make sure Demos render text to write UI layer

The tilemap demo draws skeletons over the text. Need to make sure the text is rendering above everything on or the UI layer.

This has been fixed.


WIP global: optional recaptcha in registration

Adds optional recaptcha field into registration form.

Signed-off-by: Bruno Cuc<EMAIL_ADDRESS>

You will have to edit form_errors macro in templates/invenio_accounts/_macros.html, in order to render the recaptcha error message properly. Right now it looks like this:

Merged in #112


feat!: Rename Row/Col to HStack/VStack

Closes #18.
Based on user feedback, Row and Col names are confusing b/c they conflict with flexbox's row. HStack and VStack are more agnostic names.

Changes look good! I tried approving the UI tests, but it says "Read Only, You must be a reviewer" (see image below) - I'm logged in with my GitHub account though so unclear why it's not recognizing I'm a reviewer for this PR.

Although, maybe UI reviewers and PR reviewers are different? This is what my Manage/Permissions page looks like:

sorry for thrashing. we should probably discuss this syntax change in person as there are a couple of options:

StackV and StackH
VStack and HStack
StackX and StackY

I think StackX and StackY feels too close to Observable Plot transforms. StackV and StackH have better autocomplete behavior than VStack and HStack b/c you can start typing Stack and get both options. Also I would argue readability is better b/c of the position of the camel casing. The downside is that it's closer syntactically to Observable Plot and further syntactically from SwiftUI without matching either of them, which might be confusing to remembe if you're moving back and forth between tools.


[Feature request] Ability to hide apps from app list.

As we know OEMs push their apps in android roms and it's not possible to make monochrome icon for every local app or just you do not want to see those OEM apps in app list most of them are bloatware that nobody uses. so, I was thinking what if there was an option below pin to home or uninstall that simply hide the apps from the list and then access those hidden apps in groove settings?

yea that would be great!

Hide apps feature would be nice , like hiding banking apps for security purpose .I can open them when I need , but when I share my phone they are hidden .

How can users access the hidden applications after?

I have this idea that it should be in groove settings behind an option called hidden apps or you can add as an app just like groove settings is.


Matplotlib error is_decade

Flowcal plot functions are not working for clean install of FlowCal. Seems like matplotlib has deprecated the is_decade function for ticker. Full traceback is as follows:

FlowCal.plot.hist1d(s, channel='FL1-H')
Traceback (most recent call last):
File "", line 1, in
File "/Users/MaxwellHunt/opt/anaconda3/envs/flowc/lib/python3.12/site-packages/FlowCal/plot.py", line 1285, in hist1d
plt.xlim((edges[0], edges[-1]))
File "/Users/MaxwellHunt/opt/anaconda3/envs/flowc/lib/python3.12/site-packages/matplotlib/pyplot.py", line 1961, in xlim
ret = ax.set_xlim(*args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/MaxwellHunt/opt/anaconda3/envs/flowc/lib/python3.12/site-packages/matplotlib/axes/_base.py", line 3664, in set_xlim
return self.xaxis._set_lim(left, right, emit=emit, auto=auto)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/MaxwellHunt/opt/anaconda3/envs/flowc/lib/python3.12/site-packages/matplotlib/axis.py", line 1243, in _set_lim
self.set_view_interval(v0, v1, ignore=True)
File "/Users/MaxwellHunt/opt/anaconda3/envs/flowc/lib/python3.12/site-packages/matplotlib/axis.py", line 2272, in setter
setattr(getattr(self.axes, lim_name), attr_name, (vmin, vmax))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/MaxwellHunt/opt/anaconda3/envs/flowc/lib/python3.12/site-packages/matplotlib/axes/_base.py", line 849, in viewLim
self._unstale_viewLim()
File "/Users/MaxwellHunt/opt/anaconda3/envs/flowc/lib/python3.12/site-packages/matplotlib/axes/_base.py", line 844, in _unstale_viewLim
self.autoscale_view({f"scale{name}": scale
File "/Users/MaxwellHunt/opt/anaconda3/envs/flowc/lib/python3.12/site-packages/matplotlib/axes/_base.py", line 2936, in autoscale_view
handle_single_axis(
File "/Users/MaxwellHunt/opt/anaconda3/envs/flowc/lib/python3.12/site-packages/matplotlib/axes/_base.py", line 2932, in handle_single_axis
x0, x1 = locator.view_limits(x0, x1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/MaxwellHunt/opt/anaconda3/envs/flowc/lib/python3.12/site-packages/FlowCal/plot.py", line 648, in view_limits
if not matplotlib.ticker.is_decade(abs(vmin), b):
^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'matplotlib.ticker' has no attribute 'is_decade'. Did you mean: '_is_decade'?

Suggested update to is_decade following https://matplotlib.org/stable/api/prev_api_changes/api_changes_3.8.0.html:
instead of ticker.is_decade; use y = numpy.log(x)/numpy.log(base); numpy.isclose(y, numpy.round(y))

@MHunt-tools thanks for submitting this. If you want, you could make a branch starting from develop with your proposed solution and, after testing it, submit a pull request.
@JS3xton what would be the process to approve a bug/deprecation fix these days? I would think that just making sure the plots are generated as before would suffice for this particular case, but it's been a while since I've worked with FlowCal's code.
Thanks.

Thanks for pointing this out, Max.
The last release process was very tedious--I'd like to automate some of the testing if possible, e.g., with GitHub Actions. There are also several other outstanding deprecation issues that should probably be resolved--and it's probably time to officially drop support for Python 2. I don't expect any of this to happen quickly, though, so yeah, Max I'd rely on your own fork in the short term.

Hey all, thanks for looking into this! I updated the plot script and tested with the example data (minor updates in those processing scripts as well). Pull request has been submitted!

Hi, I found a temporary fix for this issue.  Due to the fact that the function is deprecated, I just wrote my own.
def is_decade(x, base=10):     y = np.log(x) / np.log(base)     return np.isclose(y, np.round(y))
This fixed the issue and as far as I know, has not broken the graphing feature.


ShutdownSignalException when sending message to RabbitMQ after app restart/launch for the first time

I am getting the ShutdownSignalException  exception when attempting to send message to the RabbitMQ. The weird thing is this happens the very first time when the spring boot app is launched or restarted. This automatically gets fixed in the second and subsequent attempts and hence I don't believe there shouldn't be any configuration issue. Hence, I am not able to debug the issue

Below given is the error log.

com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - inequivalent arg 'type' for exchange 'MyTopicExchange' in vhost '/': received 'topic' but current is 'direct', class-id=40, method-id=10)
at com.rabbitmq.client.impl.ChannelN.asyncShutdown(ChannelN.java:528) ~[amqp-client-5.21.0.jar:5.21.0]
at com.rabbitmq.client.impl.ChannelN.processAsync(ChannelN.java:349) ~[amqp-client-5.21.0.jar:5.21.0]
at com.rabbitmq.client.impl.AMQChannel.handleCompleteInboundCommand(AMQChannel.java:193) ~[amqp-client-5.21.0.jar:5.21.0]
at com.rabbitmq.client.impl.AMQChannel.handleFrame(AMQChannel.java:125) ~[amqp-client-5.21.0.jar:5.21.0]
at com.rabbitmq.client.impl.AMQConnection.readFrame(AMQConnection.java:761) ~[amqp-client-5.21.0.jar:5.21.0]
at com.rabbitmq.client.impl.AMQConnection.access$400(AMQConnection.java:48) ~[amqp-client-5.21.0.jar:5.21.0]
at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:688) ~[amqp-client-5.21.0.jar:5.21.0]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]

My RabbitMQ Exchange and Queue configuration in the Management console is as below:

Code is given in the below link:

https://github.com/purbarunc/Spring-Boot-RabbitMQ/tree/master/RabbitMQPub
Please have a look into the same.

Sorry, not clear how to reproduce.
Would you mind including some instructions or test?
I wrote this test:
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK)
@AutoConfigureWebTestClient
class RabbitMqPubApplicationTests {

	@Autowired
	WebTestClient webTestClient;

	@Test
	void contextLoads() {
				webTestClient.post().uri("/order")
						.contentType(MediaType.APPLICATION_JSON)
						.bodyValue(new OrderRequest("test", 2, 100))
						.exchange()
						.expectStatus()
						.is2xxSuccessful();
	}

}

for your RabbitMQPub project, and it passes well without any errors in logs.
(Right, I also changed to implementation 'org.springframework.boot:spring-boot-starter-webflux' dependency to make value of WebTestClient).

Well, technically that received 'topic' but current is 'direct' error means that you have already a MyTopicExchange of type direct before you start your application.
Therefore when RabbitAdmin tries to configure those entities from your application, it encounters that mismatch and raises error.
So, if you remove that exchange from your broker before you start the application, everything should be OK.
Or change its type to topic on the broker side.
I'll keep this opened for a couple days before closing since it looks like Works as Designed.

@artembilan Perfect! Changing the exchange type to topic instead of direct in the RabbitMQ Management console fixed the issue.

But I wonder when the exchange type was direct it was working fine from second attempt onwards. (exception was thrown only for the first time after the app gets launch/reload) which is strange.
But anyway, appreciate the help. Thanks !

Yeah... Sorry: forgot to explain what is going on.
The RabbitAdmin in the application tries to created broker objects when connection is established. Essentially for the first time you produce a message from your application.
On the second time the connection is already there, therefore no attempts to recreate those objects.
And it works before you just produce to some exchange with some routing key.
And apparently it matches to the binding even if it is not a topic exchange.
Indeed the first publication fails because objects cannot be (re)created on the broker withing the same call stack.
Closed as Works as Designed


Allow from 5% skew in document distribution and still get good result…

…s when asking for many hits.
@thigm85 and @bratseth PR
@vekterli and @yngveaasheim FYI
Sets p_max = 1.0 + skew_factor (5%)
Computes a modified n' = 1/p_max

LGTM 👍


How to get a dense depth map

Hi author, a question for you, if I want to make my own dataset for training, and the depth map uses a projection of the point cloud, how do I get the true value of the depth map (dense depth map), or how do I make it.

I don't have the experience to make it myself. I think you can follow the original paper of KITTI dataset and NYUv2 dataset to learn how to create such a dataset with dense depth map.


Noob question

Hi,
If I have defined my chat state as this:
chat: {
  status: {
    connected: false,
    logged: false,
    pending: false,
    error: {},
    unreadMessages: 0,
  },
  ui: {
    activeItem: '',
    itemsPerRequest: 20,
    shouldShowLoad: true,
  },
 ...

Do I have to create one selector for each one? For example:
const selectChatState = () => ({ chat }) => chat;

const getChatStatusConnected = () => createSelector(
  selectChatState(),
  ({ status }) => status.connected
);

Or just create groups of objects, like status, ui, etc, or chat object itself.
I don't know If doing that way (grouping it), will be recomputed more than having on selector for each one.
Thanks and sorry If this question has been answered, although I didn't find it.

For best results, you would want to create selectors for each level of nesting.  Note that selectors for top-level items can be trivial functions, since there's no need to memoize those.  Also, there's no need to define a selector as a function that returns a plain function, the way you have selectChatState.  It can be useful to define a selector as a function that returns the result of createSelector in some cases, but that's an optimization you don't have to worry about right away.
So, for example, I would have:
const selectChat = (state) => state.chat;
const selectChatStatus = createSelector(
    selectChat,
    (chat) => chat.status
);

const selectChatUnreadMessages = createSelector(
    selectChatStatus,
    (chatStatus) => chatStatus.unreadMessages
);

Ok, thank you for the answer. Now I get it ;)


Add secure connection for webserver

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SSL-on-an-instance.html

Done.


Return partial message when unpack errors

https://github.com/moov-io/iso8583/issues/296

Hey! I think this PR looks good!
How do you plan to use the Field field from the UnpackError?
Also, maybe we can use FieldIndex or FieldID or FailedFieldID as the name of the field?

How do you plan to use the Field field from the UnpackError?

This will go into DE44 where we indicate the field number which failed parsing, in our response to the scheme when we return with a Format Error response code. Having the field ID separately means not needing to extract it from the error message.

Also, maybe we can use FieldIndex or FieldID or FailedFieldID as the name of the field?

Sure thing - I'll change it to FieldID.

this has been merged to upstream master


ciao-deploy: Install dependencies

osprepare installs missing dependencies when the service starts but there is no way osprepare to yell when all the dependencies are installed and the service is ready to be used.
ciao_wait.yml include a task to check on the nodes that all the binaries have been installed.
It would be better to let ansible install the dependencies in the ciao nodes before starting the service. this way the services are ready to be used and any error installing the dependencies can be handled in the ansible playbooks.

@albertomurillo the new CIAO Packages(ciao-controller, ciao-network, ciao-compute) provided by OBS now install the dependencies needed by Ciao except for Docker.

ciao.spec file for fedora and ciao.dsc file for ubuntu now installs the required dependencies
Source code available at https://build.opensuse.org/package/show/home:clearlinux:preview:ciao/ciao
This issue can be closed now


pep8 remaining issues and make flake8 test required

i excluded tests and migrations from pep8. going to quickly give the remaining 5 items a go.

Thanks @MaxPresman, I'll review this Friday.

Hi @MaxPresman, I pulled back from making passing the flake8 test required, but I merged your other improvements, thank you. We'll discuss internally whether we want travis to require those flake8 tests.


Is it possible to render Sky Entity with image ?

I know Sky entity can be rendered like below:
<Entity geometry={{primitive: 'sphere', radius: 5000}}     material={{color: props.color || '#73CFF0', shader: 'flat', src: '#sky'}}    scale="1 1 -1"/>
But when I tried to render image instead of color, the image is not rendered.
<Entity geometry={{primitive: 'sphere', radius: 5000}}     material={{ src: "./skyimage.png" }}    scale="1 1 -1"/>
I wonder if it is possible to render Sky Entity with image using aframe-react.

Try changing your image src string to url(myimage.png). I think that sort of thing should be noted somewhere in the docs as it drove me a little nuts too :stuck_out_tongue:

Yes, you are right.
The image url should be url(${img-url})   if img-url is variable.
  is template quote.


Improve style

In this branch, I focused on the style of the web app and Improved the design. I changed the images and font families, and added a blurred background for the pop-up.

Great job implementing the styles we discussed on the call! It looks amazing.
It's ready for the merge!


Fix Extension encoded length

Extension is odd compared to other messages because its Unparsed payload does not include a length field. The implementation of Encode::encode for Extension accounts for this by writing the bytes directly from the Vec<u8> member of Unparsed, but the implementation of Encode::encoded_len for Extension did not account for the 4 extra bytes (a u32) that <Vec<u8> as Encode>::encode normally prepends.
Therefore, an Extension message on the wire claims it has 4 more bytes than its payload actually contains, which hangs most SSH agent server implementations waiting for the 4 additional bytes to arrive.

Thanks for the fix! :tada:
Would you be able to fix the sign-off? (it should be as easy as git commit --amend --signoff && git push --force-with-lease)
Now it occurred to me that we didn't have a test vector for an extension in our test cases so I need to add one really fast :sweat_smile:

@overhacked I've filed a different PR solving the same bug: https://github.com/wiktor-k/ssh-agent-lib/pull/66/files
The difference is that I've adjusted the encoded_len of the Unparsed (which is where I think the fix should be since it's Unparsed that has the special logic) and adjusted Extension::encoded_len to use that implementation (it should be doing that from the beginning).
Additionally I've added an extension binary message for tests and fixed the tests to test for correct values of encoded_len.
I hope you don't mind me taking the liberty of fixing it in a different way and appending your name to the commit (with Co-authored-by). If there are any concerns I'm all :ear:s
:wave:

Closing in favor of #66.


Bug: extra suggestion after quotes

When I use the LSP to complete a value, and then close the quotes, it starts suggesting the same attributes again.
current behaviour:

expected behaviour:
It doesn't suggest the attributes after the quotes.

This is already fixed in pr #16

The #16 indeed fixes that error but unfortunately, it doesn't cover another bug I discovered yesterday, which happens when there is an open quote but the closed quote is only in the new line for instance:

 Ergo UI

Status

I fixed the bug above too in another change, but I'm not sure it makes sense to merge everything in a unique PR. @ThePrimeagen How should we go about this? different PRs?

@cristianoliveira we have had a few changes
this may be fixed by now

Hey there! I'm glad this is solved :D


Always use getFieldValue to access value and setByString to write value in components

In some components we're using rowData[colDef.field] to access and write value while others use getFieldValue and setByString helpers which supports dot notation property access.
getFieldValue code:
  getFieldValue = (rowData, columnDef, lookup = true) => {
    let value =
      typeof rowData[columnDef.field] !== "undefined"
        ? rowData[columnDef.field]
        : byString(rowData, columnDef.field);
    if (columnDef.lookup && lookup) {
      value = columnDef.lookup[value];
    }

    return value;
  };

setByString code:
export const setByString = (obj, path, value) => {
  var schema = obj; // a moving reference to internal objects within obj

  path = path.replace(/\[(\w+)\]/g, ".$1"); // convert indexes to properties
  path = path.replace(/^\./, ""); // strip a leading dot
  var pList = path.split(".");
  var len = pList.length;
  for (var i = 0; i < len - 1; i++) {
    var elem = pList[i];
    if (!schema[elem]) schema[elem] = {};
    schema = schema[elem];
  }

  schema[pList[len - 1]] = value;
};

Components:
m-table-edit-row.js line 26
Should use setByString
  createRowData() {
    return this.props.columns
      .filter((column) => 'initialEditValue' in column && column.field)
      .reduce((prev, column) => {
        prev[column.field] = column.initialEditValue;
        return prev;
      }, {});

m-table-edit-row.js line 40 to 43
NOTE: this ain't wrong but is replicating getFieldValue code, it would be better to use the helper
  const value =
    typeof this.state.data[columnDef.field] !== 'undefined'
      ? this.state.data[columnDef.field]
      : byString(this.state.data, columnDef.field);

m-table-edit-cell.js line 13
Should use getFieldValue
    this.state = {
      isLoading: false,
      value: this.props.rowData[this.props.columnDef.field]
    };

m-table-edit-cell.js line 67
Should use getFieldValue
      this.props.cellEditable
        .onCellEditApproved(
          this.state.value, // newValue
          this.props.rowData[this.props.columnDef.field], // oldValue
          this.props.rowData, // rowData with old value
          this.props.columnDef // columnDef
        )

Which components?

Which components?

@oze4 I was just updating the issue

@oze4 I was just updating the issue

Thank you @thefat32 ! I've been rather busy over the past couple of days but will get to this soon.

Thank you @thefat32 ! I've been rather busy over the past couple of days but will get to this soon.

Should be fixed now


data generate --model parameter used for local file path and where to point to remote teacher model endpoint (need two separate variables)

Describe the bug

With the addition of context aware chunking: the --model parameter in data generate is used for two competing places that makes it impossible to interact with a remote teacher endpoint anymore. The first location it is used is to point to a local tokenizer file to enable context aware tokenization shown in code path below:
https://github.com/instructlab/instructlab/blob/main/src/instructlab/data/generate_data.py#L93
https://github.com/instructlab/sdg/blob/main/src/instructlab/sdg/utils/chunkers.py#L226
https://github.com/instructlab/sdg/blob/main/src/instructlab/sdg/utils/chunkers.py#L151
https://github.com/instructlab/sdg/blob/main/src/instructlab/sdg/utils/taxonomy.py#L427
The next independent path is it is used to add to the base endpoint-url to properly talk to a remote teacher model endpoint shown in the pipeline context:
https://github.com/instructlab/instructlab/blob/main/src/instructlab/data/generate_data.py#L93
https://github.com/instructlab/sdg/blob/main/src/instructlab/sdg/generate_data.py#L305
https://github.com/instructlab/sdg/blob/main/src/instructlab/sdg/generate_data.py#L378
Therefore when running ilab data generate with the endpoint-url on a pdf document you will always see the following error
[root@ty-sdg-pdftry ~]# /root/bin/ilab.sh data generate --taxonomy-path /root/RBC-Instructlab-Taxonomy --taxonomy-base empty --endpoint-url https://781d2e7c-us-east.lb.appdomain.cloud/v1  --model-family mixtral --sdg-scale-factor 30 --pipeline /root/sdg-config/pipelines/agentic/ --model /instructlab/models/mixtral-8x7b-instruct-v0-1 --output-dir /root/outputdir/ --server-ctx-size 32768
INFO 2024-11-21 03:47:56,419 numexpr.utils:148: Note: NumExpr detected 24 cores but "NUMEXPR_MAX_THREADS" not set, so enforcing safe limit of 16.
INFO 2024-11-21 03:47:56,419 numexpr.utils:161: NumExpr defaulting to 16 threads.
INFO 2024-11-21 03:47:58,664 datasets:59: PyTorch version 2.4.1 available.
INFO 2024-11-21 03:48:01,028 instructlab.data.generate_data:87: Generating synthetic data using '/root/sdg-config/pipelines/agentic/' pipeline, '/instructlab/models/mixtral-8x7b-instruct-v0-1' model, '/root/RBC-Instructlab-Taxonomy' taxonomy, against https://781d2e7c-us-east.lb.appdomain.cloud/v1 server
INFO 2024-11-21 03:48:02,556 instructlab.sdg.utils.taxonomy:147: Processing files...
INFO 2024-11-21 03:48:02,556 instructlab.sdg.utils.taxonomy:153: Pattern 'RBC_ILAB.pdf' matched 1 files.
INFO 2024-11-21 03:48:02,556 instructlab.sdg.utils.taxonomy:157: Processing file: /root/outputdir/documents-2024-11-21T03_48_01/RBC_ILAB.pdf
INFO 2024-11-21 03:48:02,556 instructlab.sdg.utils.taxonomy:172: Loading PDF document from /root/outputdir/documents-2024-11-21T03_48_01/RBC_ILAB.pdf
INFO 2024-11-21 03:48:02,566 instructlab.sdg.utils.taxonomy:182: PDF '/root/outputdir/documents-2024-11-21T03_48_01/RBC_ILAB.pdf' has 283 pages.
INFO 2024-11-21 03:51:00,399 instructlab.sdg.utils.taxonomy:218: Unloaded PDF document: /root/outputdir/documents-2024-11-21T03_48_01/RBC_ILAB.pdf
INFO 2024-11-21 03:51:36,400 instructlab.sdg.generate_data:408: Synthesizing new instructions. If you aren't satisfied with the generated instructions, interrupt training (Ctrl-C) and try adjusting your YAML files. Adding more examples may help.
ERROR 2024-11-21 03:51:38,716 instructlab.sdg.utils.chunkers:397: Failed to load tokenizer as no valid model was not found at /instructlab/models/mixtral-8x7b-instruct-v0-1. Please provide a path to a valid model format. For help on downloading models, run `ilab model download --help`.

There should be a separate variable/cli parameter for passing in the local context aware tokenizer file than that which is used to point to the remote endpoint url holding the teacher model
To Reproduce
Steps to reproduce the behavior:

Run ilab data generate using the --endpoint-url on a taxonomy that has a PDF document in it (example shown above)
It will error saying failed to load tokenizer

Expected behavior

I should be able to run data generate against a remote teacher model endpoint on a taxonomy with a pdf file if I have the local tokenizer files. I should be able to point to the remote teacher model and the local files through separate vars
Screenshots

Device Info (please complete the following information):

Hardware Specs: [e.g. Apple M2 Pro Chip, 16 GB Memory, etc.] L40
OS Version: [e.g. Mac OS 14.4.1, Fedora Linux 40] RHEL AI 1.2
Python Version: [output of python --version] 3.11
InstructLab Version: [output of ilab system info]

Platform:
  sys.version: 3.11.7 (main, Aug 23 2024, 00:00:00) [GCC 11.4.1 20231218 (Red Hat 11.4.1-3)]
  sys.platform: linux
  os.name: posix
  platform.release: 5.14.0-427.37.1.el9_4.x86_64
  platform.machine: x86_64
  platform.node: ty-sdg-pdftry
  platform.python_version: 3.11.7
  os-release.ID: rhel
  os-release.VERSION_ID: 9.4
  os-release.PRETTY_NAME: Red Hat Enterprise Linux 9.4 (Plow)
  memory.total: 117.91 GB
  memory.available: 116.30 GB
  memory.used: 0.58 GB

InstructLab:
  instructlab.version: 0.21.0
  instructlab-dolomite.version: 0.2.0
  instructlab-eval.version: 0.4.1
  instructlab-quantize.version: 0.1.0
  instructlab-schema.version: 0.4.1
  instructlab-sdg.version: 0.6.0
  instructlab-training.version: 0.6.1

Torch:
  torch.version: 2.4.1+cu121
  torch.backends.cpu.capability: AVX512
  torch.version.cuda: 12.1
  torch.version.hip: None
  torch.cuda.available: True
  torch.backends.cuda.is_built: True
  torch.backends.mps.is_built: False
  torch.backends.mps.is_available: False
  torch.cuda.bf16: True
  torch.cuda.current.device: 0
  torch.cuda.0.name: NVIDIA L40S
  torch.cuda.0.free: 44.1 GB
  torch.cuda.0.total: 44.5 GB
  torch.cuda.0.capability: 8.9 (see https://developer.nvidia.com/cuda-gpus#compute)

llama_cpp_python:
  llama_cpp_python.version: 0.2.79
  llama_cpp_python.supports_gpu_offload: True

Additional context

I believe this change introduced the regression:
https://github.com/instructlab/sdg/pull/364

Slack thread context just in case anything is missed
Hey yep! I think what you added makes sense but I think implicitly there was a breakage in still using a remote teacher model endpoint:
https://github.com/instructlab/instructlab/issues/2681
I see why you do the teacher model local though in the fact you need the tokenizer files/content for the local piece. But I think that path needs a new cli var or else the --endpoint-url function in sdg regresses (hopefully that issue makes sense)
when using endpoint-url the --model flag for sdg now gets used for two independent pieces that conflict with one another
one is to point to the remote model path (a HTTP path) on the remote model serving server vllm) the other is to point to a local path on the machine (for rhel ai within the container) to pointing to the tokenizer files
I just think that the path to the local tokenization file if we are supporting endpoint-url needs to be exposed as a separate variable that is something like --teacher-tokenization-files or etc
(I think one reason why it might seem weird and wasn't hit is you were running teacher model and sdg data process all on same machine: but instructlab also supports pointing to remote teacher models and on the local machine running the sdg pipeline it just runs the "data aggregaition/context chunking pieces" (that's the path I see that has regressed)

More slack convo
it won't enforce you only use 1: but the problem is --model now has dual meaning
and dual independent meanings that conflict with eachother: one is a HTTP path on a remote server
one is a local file path on a machine
That is a problem: basically in order to get it to work today you have to get lucky that your remote path on your server can be created in your local machine: I don't think that is something that is wanted: I think we need two variables in the cli: one that is used to specify the local tokenization files you want to use for the context aware chunking tokenization
I think the best way is maybe to show an example
[root@ty-sdg-pdftry ~]# nohup /root/bin/ilab.sh data generate --taxonomy-path /root/RBC-Instructlab-Taxonomy --taxonomy-base empty --endpoint-url https://781d2e7c-us-east.lb.appdomain.cloud/v1  --model-family mixtral --sdg-scale-factor 30 --pipeline /root/sdg-config/pipelines/agentic/ --model /instructlab/models/mixtral-8x7b-instruct-v0-1 --output-dir /root/outputdir/ --server-ctx-size 32768 --tls-insecure &
tangibly when you use endpoint url --model and --endpoint-url are basically utilized together to form the full path to chatting with the model
(in the openai client)
And then additionally now with the local filesystem piece being utilized as well it will now assume that on the local host at /instructlab/models/mixtral-8x7b-instruct-v0-1 there are model files for the context aware chunking: that is a problem since you cannot just create /instructlab/models on a host (protected directory)
so what I am saying is with the addition of utilizing the local path there should be another var like:
nohup /root/bin/ilab.sh data generate --taxonomy-path /root/RBC-Instructlab-Taxonomy --taxonomy-base empty --endpoint-url https://781d2e7c-us-east.lb.appdomain.cloud/v1  --model-family mixtral --sdg-scale-factor 30 --pipeline /root/sdg-config/pipelines/agentic/ --model /instructlab/models/mixtral-8x7b-instruct-v0-1 --context-aware-tokenization-files LOCAL_PATH_ON_HOST --output-dir /root/outputdir/ --server-ctx-size 32768 --tls-insecure &
to where now that var can be utilized (if it's not specified we can default to the model path to keep same behavior) and then we now have the ability to properly configure both endpoints

Thanks for raising this @relyt0925
I was not aware that SDG used the supplied model path to do anything when the endpoint URL has been specified. By following the code I see that the endpoint URL is just used to construct an openai client that can talk directly with what Im assuming is the model hosted at the server described by the supplied endpoint
While I understand the problem, I'm not sure adding a new flag specifically to reference just the tokenizer files is necessarily the way to go. I would be more interested in understanding why the model path needs to take on a different meaning when endpoint URL has entered the picture - and if there is something we can do to prevent that from happening
cc @bbrowning @aakankshaduggal @khaledsulayman

It sounds like we need to add some tests around remote endpoint support in SDG, and then figure out exactly what the different params do and how they interact with that. I think the bulk of this work will be in the instructlab/sdg repo to reconcile these parameters and determine how to proceed - whether we need to expose a new knob or if some combination of existing params can be made to do the right thing. Is there an easy way to move this issue over there, or should we copy this into a new one that focuses just on the changes needed in the SDG repo to get this working again?


Fixed broken links in Courses folder (bug)

I made a Python script that checked all the links in the .md files in the folder Courses and I fixed all the broken links in the Courses folder.

wow, this is great! Thank you !!!


fix: return statement is not necessary to execute .then and .catch execution

Description
One needs to return the function so .then and .catch to be executed
Previous architecture - https://www.notion.so/appsmith/Architecture-problems-ff74dd3415d24458b9531d788971ec2a
New architecture - https://www.notion.so/appsmith/new-architecture-for-promises-335bfa61905c49ef90e05afb5c95a390
Fixes # (issue)
https://github.com/appsmithorg/appsmith/issues/9782
Type of change

Please delete options that are not relevant.

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions, so we can reproduce.
Please also list any relevant details for your test configuration.

Test A
Test B

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

/ok-to-test sha=b2085a2

/ok-to-test sha=e4dce1b

/ok-to-test sha=bb5c7c5

/ok-to-test sha=257bac3

/ok-to-test sha=49ac925

/ok-to-test sha=49ac925

/ok-to-test sha=49ac925

/ok-to-test sha=49ac925

/ok-to-test sha=49ac925

/ok-to-test sha=49ac925

/ok-to-test sha=49ac925

/ok-to-test sha=49ac925

/ok-to-test sha=49ac925

/ok-to-test sha=49ac925

/ok-to-test sha=e7debe6

/ok-to-test sha=a8fcc53

/ok-to-test sha=0f65f78

LGTM, we can merge this in
CC: @arunvjn

/ok-to-test sha=f130196

/ok-to-test sha=f130196

/ok-to-test sha=8083e1b


Add support for local maven repositories in the docker images.

Add support for maven-cache as an option to the docker image which can point to the local maven repository on the host. This is useful for cases where a snapshot build of the SDK is being tested but not fully published out to Maven repositores.
This can significantly help in trying out fixes in SDK for the various frameworks or trying out upcoming versions via artifacts from a local Maven repository.

Merging this as rebase cleared out the old approvals, but the original patch didn't change.


proposal: fmt: add Formatter fallback

Implementing fmt.Formatter overrides all other formatting. This makes it difficult to selectively implement verbs: you must either implement every verb and flag combination (including width, etc.) or leave them unimplemented.
For example, I have a UUID type. Its String method defaults to the 36-byte encoding with hyphens. I also want to add support for %x so users can encode it as a 32-byte hexadecimal string. Because UUID implements fmt.Stringer, I have to add %x support via fmt.Formatter (otherwise %x will incorrectly encode the 36-byte encoding as hexadecimal). But this means I lose %q, %X, %v, etc. support. If I want those, I have to implement them myself. See https://go.dev/play/p/lb8mkyhN3-L
Ideally, the fmt package would allow me to write something like
// func Fallback(s State, v rune, arg interface{}) Formatter

func (u UUID) Format(s fmt.State, v rune) {
    switch v {
    case 'x', 'X':
        fmt.Fprintf(s, "%"+string(v), u[:])
    default:
        fmt.Fprintf(s, fmt.Fallback(s, v, u))
    }
}

As another example, I wrote this code (which admittedly I am not very proud of, but hey) to work around the same issue: https://github.com/ericlagergren/decimal/blob/aca2edc11f73e28a0e93d592cc6c3de4a352a81c/big.go#L895
Proposal Template

Would you consider yourself a novice, intermediate, or experienced Go programmer?
Experienced (have been writing Go since 1.3 or so).

What other languages do you have experience with?
Varying degrees of familiarity with C, Java, Python, JavaScript, Bash, Assembly, etc.

Would this change make Go easier or harder to learn, and why?
N/A

Has this idea, or one like it, been proposed before?
Did not immediately find anything.

Who does this proposal help, and why?
Me and other users of the fmt package.

What is the proposed change?

Add a mechanism to the fmt package to allow Formatter implementations to "fall back" to the default formatting. For example, an API similar to
// Fallback returns a Formatter that formats arg
// using the default formatting for the State and
// verb.
func Fallback(s State, v rune, arg interface{}) Formatter {
   return fallback{v: arg}
}

type fallback struct {
    v interface{}
}

func (p *pp) handleMethods(verb rune) (handled bool0 {
    [...]
    if f, ok := v.(fallback); ok {
        p.arg = f.arg
    } else if formatter, ok := v.(Formatter); ok {
        [...]
    }
}

The specific API is mostly unimportant to me.

Is this change backward compatible?
Yep.

Show example code before and after the change.
See above.

What is the cost of this proposal? (Every language change has a cost).

How many tools (such as vet, gopls, gofmt, goimports, etc.) would be affected?
Very likely none.
What is the compile time cost?
N/A
What is the run time cost?
Depends on how it's implemented.

Can you describe a possible implementation?
See above.

How would the language spec change?
N/A

Orthogonality: how does this change interact or overlap with existing features?
It augments fmt.Formatter. It does not duplicate any existing functionality.

Is the goal of this change a performance improvement?
Nope.

Does this affect error handling?
Nope.

Is this about generics?
Nope.

CC @robpike

Formatter a rarely used interface so I'm not sure if this is a problem widespread enough to need a response. It can be a little annoying to implement, I admit.
I'd call it Default rather than Fallback, but that's a small point. Also it might be cleaner both in implementation and use to provide instead a wrapper type that shields the magic formatting, making it easy recover the default behavior for any verb. That would also provide a solution to the endless issue of String methods accidentally invoking themselves.
I still come back my original point though: Is this a significant enough problem to warrant a general solution?

@robpike  I also prefer Default. I figured Default would return an internal type that handleMethods could sniff out prior to checking for Formatter and such. Perhaps something as simple as type defaultIsAKeyword struct { v interface{} }.

That would also provide a solution to the endless issue of String methods accidentally invoking themselves.

I've been writing Go for over 8 years and still frequently do this :)

I still come back my original point though: Is this a significant enough problem to warrant a general solution?

To answer your question: although fmt.Formatter is not a particularly popular interface, I consistently encounter this frustration when I do use it.
The default verbs and flags are very useful and it's annoying when they aren't implemented. For example, a common use of %q is to delimit the input, so to speak. (*big.Int).Format does not implement %q and on more than one occasion I've forgotten this only to see %!q(big.Int=...) pop up in logs. And so I try to make sure my implementations of Format do the Right Thing.
Here is a random example from our code base. It really only needs to implement two cases: %+v and %v, but ends up using an "interesting" method to handle the other cases. There are a couple other examples where Format implementations are needlessly complex in order to do the Right Thing.
type SomeError []T

func (e SomeError) Format(f fmt.State, c rune) {
	switch {
	case c != 'v':
		fmt.Fprintf(f, makeFormat(f, c), ([]T)(e))
	case !f.Flag('+'):
		fmt.Fprintf(f, makeFormat(f, 's'), e.Error())
	default:
                [...]
	}
}

func makeFormat(f fmt.State, c rune) string {
	var b strings.Builder
	b.WriteByte('%')
	for _, c := range "+-# 0" {
		if f.Flag(int(c)) {
			b.WriteRune(c)
		}
	}
	if width, ok := f.Width(); ok {
		b.WriteString(strconv.Itoa(width))
	}
	if prec, ok := f.Precision(); ok {
		b.WriteByte('.')
		b.WriteString(strconv.Itoa(prec))
	}
	b.WriteRune(c)
	return b.String()
}

I empathize with not

Also, I agree with Go's philosophy of only reluctantly adding new APIs to the standard library, especially to fmt which has had few—if any—API additions. However, I believe that being able to selectively implement verbs (without bending over backward to do so) is core functionality and it's currently missing. I'd love if it were possible to do this without introducing Default.

The original design should perhaps have had a return value to indicate that the default behavior should apply. Too late for that now, although we could add a new interface.

Maybe fmt.DefaultFormat to make clear it's for use by Format? Otherwise, this seems OK.

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

I think this one needs a hard think. There are multiple solutions with different complexities, advantages, and tradeoffs.

This is a minor problem in a minor, little-used feature. A simple answer should be sufficient.
A suggestion. In the fmt package, add:
type Default struct {
   Value any
}

When a Default object is printed, all methods on Value are ignored. All that would take is an internal flag in the fmt.pp structure, simple to add.
This would be easy to do and would also provide a clean mechanism for the recursive String method problem.

@robpike  I like the simplicity.
I have a question. What should this program print?
package main

import "fmt"

func main() {
    x := Uint128{1, 2}
    fmt.Printf("%#v\n", x)
}

type Uint128 struct {
    lo, hi uint64
}

func (x Uint128) Format(s fmt.State, v rune) {
    switch v {
    case 's', 'd':
        // print base 10
    case 'x', 'X:
        // print base 16
    default:
        fmt.Fprint(s, fmt.Default{Value: x})
    }
}

Or, more directly: how will the # flag be respected?

I suppose Default could also have an optional State.
As I said above, much thinking is required.

@robpike I agree this needs a lot of thought. It seems to me the original fmt.Formatter is rather difficult to use. We could probably think of a better design.

As a workaround, you can cast to the same type, example below. Although I agree with the OP, this is a much desired feature. I have to disagree with @robpike. I use Stringer, GoStringer and error interfaces, because they are easy. Also they are convenient, as Stringer leaves %#v available, and GoStringer leaves %v and %+v available. Contrast with Formatter, where you lose all three, and would need to re-implement whatever you needed.
package main
import "fmt"

type hello struct {
   alfa int64
   bravo string
}

func (h hello) Format(f fmt.State, verb rune) {
   type _hello hello
   if f.Flag('#') {
      fmt.Fprintf(f, "%#v", _hello(h))
   } else if f.Flag('+') {
      fmt.Fprintf(f, "%+v", _hello(h))
   } else {
      fmt.Fprint(f, h.bravo)
   }
}

func main() {
   hi := hello{9, "nine"}
   fmt.Printf("%#v\n", hi) // main._hello{alfa:9, bravo:"nine"}
   fmt.Printf("%+v\n", hi) // {alfa:9 bravo:nine}
   fmt.Printf("%v\n", hi) // nine
}

I've also avoided writing custom formatters particularly because there's no great way to override one or two verbs without reimplementing the whole thing, and fmt.State has no trivial way to reconstruct fmt.Formatter inputs into the original verb, in order to pass it, alongside a conversion of the receiver to a derived type, to fmt.Fprintf.
Perhaps we could just document that when fmt.State receives no writes, it'll just re-interpret the value as though it were not a fmt.Formatter, and proceed accordingly (thus the "fallback" would merely be returning from the Format method without the fmt.State.Write method having been called).

We could also implement e.g. golang.org/x/tools/fmt/fmtutil.Fallback, write about it, measure adoption, and then make a decision from there.

We could also implement e.g. golang.org/x/tools/fmt/fmtutil.Fallback, write about it, measure adoption, and then make a decision from there.

Thats not a valid package:
https://pkg.go.dev/golang.org/x/tools/fmt

See #51668.

Putting this on hold until whether we see whether the solution to #51668 (which is suggested implicitly in the original comment here, one is surprised to see) solves the problem well enough. It well might.

Placed on hold.
— rsc for the proposal review group

Just to follow up, since I found this searching for a solution to the same problem, the addition of fmt.FormatString does seem to fairly reliably solve this problem for me, eg:
func (t T) Format(f fmt.State, c rune) {
    switch c {
    case 'd':
        fmt.Fprint(f, "Ceci n'est pas un nombre")
    case 's':
        fmt.Fprint(f, t.String())
    default:
        type hideMethods T
        type T hideMethods
        fmt.Fprintf(f, fmt.FormatString(f, c), T(t))
    }
}

https://go.dev/play/p/BkqOaS4CL68
This can be simplified further if the underlying type of T isn't a struct and you're OK losing the type name in %#v.

Thanks for the report, @dnesting. Maybe this can be closed now.

No change in consensus, so declined.
— rsc for the proposal review group


⚠ Bofrost.de has degraded performance

In bea7654, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1624 ms

Resolved: Bofrost.de performance has improved in b8eebf4 after 6 minutes.


Issues with formatting

When the list is empty, The "No Items" text does not center vertically.
DraggableFlatList does not scroll

Commit: https://github.com/johneastman/todo/commit/c35fcfe3bd2527916304bc647c285ff140557e5a


Add next and previous article buttons

Context
As a user, I want to see 2 buttons at the bottom of the article page (Previous and Next).
Acceptance criteria

If there is no next article -> there is no Next button displayed.
If there is no previous article -> there is no button Previous displayed.
In any other case we're displaying both buttons.
After clicking the Next button user is moved to the next article (you can check the order in the home page timeline).
After clicking the Previous button the user is moved to the previous article (you can check the order in the home page timeline).

This should look the same as on the current Lesson page:

New components can be created and used in two places.
Here is a link to the Lesson page: https://incandescent-faun-b88398.netlify.app/courses/react-hooks-spellbook/events/use-clipboard/
Test scenarios

As a user I want to see only one button Next at the bottom of the first article page

Go to the article page
Click the button which opens the first article
It should be only the Next button at the bottom of the page
Click the Next button
It should move to the next article

As a user I want to see only one button Previous at the bottom of the last article page

Go to the article page
Click the button which opens the last article
It should be only the Previous button at the bottom of the page
Click the Previous button
It should move to the previous article

As a user I want to see 2 buttons at the bottom of the article page (Previous and Next)

Go to the article page
Click the button which opens the article (except the first and last article)
It should be two buttons at the bottom of the page
Click the Next button, it should move to the next article
Click the Previous button, it should move to the previous article

@klaudiazalewska PR is here you can start testing that:
https://github.com/polubis/WebBlog/pull/94

Everything works well, but I have found one bug:

When I go to one of the courses, the page's name is white, it should be coloured.
How it is right now:

How it should be:
It should be coloured.


Physical Azure Backup server question.

What do I need to re-create my physical on-prem Azure Backup Server, what do I need to take a backup of besides the passphrase?

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

ID: efe1b860-8d24-1742-4f20-c3e75cacbba3
Version Independent ID: 2ac226c0-df97-f729-fe09-3d51d61b9083
Content: Azure Backup FAQ
Content Source: articles/backup/backup-azure-backup-faq.md
Service: backup
GitHub Login: @markgalioto
Microsoft Alias: markgal

@KLDane Azure backup server is backed up to the cloud already, I'd recommend checking the following resources:
https://azure.microsoft.com/en-us/solutions/architecture/backup-archive-on-premises-applications/
https://azure.microsoft.com/en-us/blog/announcing-microsoft-azure-backup-server/ (second and third video)
And if you are trying to take a backup of the backup server, you can try the below resource:
https://docs.microsoft.com/en-us/azure/backup/backup-configure-vault
Let me know if this helps.
Thanks,
Adam

Hi Adam,
I am not sure If I have made myself clear. I want to be able to re-create my physical Azure Backup on-prem server, in case of a hardware failure. Can I just install a fresh server, install Azure Backup and reconnect it with the Azure RecoveryVault (containing all my backup data) using the passphrase, or do I need to backup the DB or anything else, on the on-prem server?
KLDane

@KLDane MABS cannot do secondary protection like DPM can - https://4sysops.com/archives/microsoft-azure-backup-server-mabs-vs-data-protection-manager-dpm/
You would need to backup the SQL database for the Azure backup server either offline or using another product\SQL or to azure – you could do that from the MABS itself.
This was an answer I got from the service team. We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


[docs] Review pages in "Deploy" section

Signed-off-by: Zhbert<EMAIL_ADDRESS>

@Zhbert one more: https://github.com/werf/werf/pull/5285


Add huggingface transformers support

Hit it again - saving model doesn't save torch if I used transformers - same as in https://medium.com/better-programming/i-trained-a-model-to-tell-if-you-were-naughty-this-year-11a36ca6d472
I forgot, do we fix it in this PR? I hope we do :)


UI freezes completely when enabling Mapillary overlay

Description
Title says it all :)
Version
2.0.0-beta.0
What browser are you seeing the problem on? What version are you running?
Chrome v110.0
The OS you're using
No response
Steps to reproduce

Go to URL below
Enable Mapillary overlay

The browser URL at the time you encountered the bug
https://mapwith.ai/rapid-v2-beta#background=Bing&datasets=fbRoads,msBuildings&disable_features=indoor,boundaries,pistes&id=n9254681279&map=18.00/40.76499/-111.90170
The auto-detected useragent string for your browser (leave blank if you're manually filling this form out)
No response

This is a duplicate of #824, which is already fixed. Closing!


Allow override modifiers?

https://github.com/souporserious/react-popper/blob/master/src/Popper.jsx#L114
const modifiers = {
  ...this.props.modifiers,
  applyStyle: { enabled: false },
  updateState: this._updateStateModifier,
}```

--->

```jsx
const modifiers = {
  applyStyle: { enabled: false },
  updateState: this._updateStateModifier,
  ...this.props.modifiers,
}

Without these 2 modifiers the component is not gonna work, why do you want to override them?

because i have used reactstrap and i want set max height for very long dropdown menu

Why it`s not worked?
simple example
applyStyle: {
  enabled: true,
    fn: (data, options) => {
    console.log(data, options);
    return data;
  },
},

you should set notify for users who want override this modifier, about they should set return data

Why can't you just create a new modifier that does that?

Updated
Resolved for me

That's not a solution.
Just create a new modifier like this:
setMaxHeight: {
  enabled: true,
  fn: (data, options) => {
    data.styles.maxHeight = '300px';
    return data;
  },
},

But i don't see any problem to allow override applyStyle modifier like this
const modifiers = {
  applyStyle: { enabled: false },
  ...this.props.modifiers,
  updateState: this._updateStateModifier,
}

or override all with call callback of updateState modifier from props

oh thank you, I did not know that you can pass custom modifiers,
I'm just getting to know popper

@FezVrasta, last question, how i can set position always to bottom or top?
like this

and set translateX to 0 when reference element is attached to the edge of viewport
https://codesandbox.io/s/1ok99zrpxj

flip: {
   behavior: ['top', 'bottom', 'top']
}

Is probably what you are looking for.

No, I want to see a dropdown always under or over of reference

I don't think I get what you are looking for

the problem is that dropdown overlaps the button.
dropdown should always be placed BELOW or ABOVE the button itself

I think you want to disable the preventOverflow modifier then

i think yes, but when i have disabled it, the dropdown in top button don't visible


Service blocks sleep on Windows 11

Describe the issue
Something seems to have changed either in latest betas or with Windows 11 but this service now unfortunately keeps my machine awake no matter what :( I have tried reinstalling and also tried changing my Razor chrome linked/advertised PSU to "one time" trigger rather than always trigger but no difference. Currently I have worked around this by using TaskScheduler to kill the service and then set it back to autostart so on reboot it starts successfully again.
Debug report
No debug report, but logs look normal during startup/shutdown of service and nothing indicating why host wont sleep. This applies to both "screensaver" display sleep as well as "power" host sleep. Something about this service seems to keep Windows 11 awake.
Current configuration
{
  "Profiles": [
    {
      "Name": "PSU",
      "Ports": [
        [9802, 9001]
      ],
      "Effects": [
        {
          "Type": "RazerConnectEffect",
          "Config": {
            "Trigger": {
              "Type": "AlwaysTrigger"
            }
          }
        }
      ]
    }
  ],
  "PortConfigs": [
    {
      "Ports": [
        [9802, 9001],
      ],
      "Config": {
        "ColorModifiers": [
          {
            "Type": "LerpLedColorModifier"
          }
        ]
      }
    }
  ]
}

For anyone curious I have the following scheduled tasks (probably could be cleaner..). It's four actions total, two for startup and two for login just in case. A bit hacky but seems to work reliably for now.
At system startup (run whether user is logged on or not, run with highest privs, hidden, Windows 10):

Trigger: Startup, Actions:
Start a program - sc config "TTController" start=auto
Start a program - sc start "TTController"

Trigger: Startup with 1 minute delay, Actions:
Start a program - sc stop "TTController"
Start a program - sc config "TTController" start=auto

At log on of main user (run whether user is logged on or not, run with highest privs, hidden, Windows 10):
3) Trigger: At logon of user, Actions:
Start a program - sc config "TTController" start=auto
Start a program - sc start "TTController"

Trigger: At logon of user with 1 minute delay, Actions:
Start a program - sc stop "TTController"
Start a program - sc config "TTController" start=auto

I love this service and its shit that my gpu wont let me disable all RGB but not sleeping is unacceptable in my usecase (OLED, and this single app holds a static image...)
Thanks for a decent service but I'm out. Hopefully someone can pick this up.  I'll buy a new one etc, my MSI MPG gen OLED isn't worth the hassle.
TLDR: In current state this forces ALL displays to be on (to my knowledge) per Windows sleep nuances


Add --host option

refs #176
I added --host option to start command.
The rackup command runs in the back of start command binds localhost as default on https://github.com/rack/rack/pull/514 . This option enables to change this.
edited: I changed default host to <IP_ADDRESS> from localhost for backward compatibility.
$ ./bin/fluentd-ui start
Puma 2.11.1 starting...
* Min threads: 0, max threads: 16
* Environment: production
* Listening on tcp://<IP_ADDRESS>:9292

$ ./bin/fluentd-ui start --host localhost
Puma 2.11.1 starting...
* Min threads: 0, max threads: 16
* Environment: production
* Listening on tcp://localhost:9292

LGTM


Login > Getting  "Something wasn't right. Try again, or reset password." error when a user enters valid credentials

Roles: All
Describe the bug
Login > Getting  Something wasn't right. Try again, or reset password. error when a user enters valid credentials
Steps to Reproduce

docker-compose down
docker-compose pull db
docker-compose up -d db
yarn
yarn start: dev
Login as a root user

Expected Result
The user should be logged in.
Actual Result
Getting  Something wasn't right. Try again, or reset password. error when a user enters valid credentials
See video -
https://user-images.githubusercontent.com/5212585/110279928-f0e72400-7fff-11eb-87f2-d49640be114a.mp4
Note::

User able to log in from the API side.
We also tried cleaning and reset the DB.

cord-field# 26eeba76
cord-api-v3# 44e862f0

Try
docker-compose up -dV db

To recreate the database volume.
And then restart the API.

Fixed with https://github.com/SeedCompany/cord-api-v3/commit/474289ae29fa8d38d3164bfea924f7deeece173f


Impersonation broke

In gitlab by @1219693 on Dec 20, 2015, 18:45
Doesn't work with any member.

In gitlab by @A-Lawrence on Dec 20, 2015, 18:46
Resolved issue in 173e1d5a

In gitlab by @A-Lawrence on Jan 12, 2016, 18:54
Milestone removed


unique constraint violated over '_key' after arangorestore (padded key generator)

My Environment

ArangoDB Version:
3.6.5
Storage Engine:
RocksDB
Deployment Mode:
Single Server
Deployment Strategy:
Manual Start in Docker
Configuration:
Infrastructure:
AWS
Operating System:
Amazon Linux 2 (Red Hat based)
Total RAM in your machine:
8GB
Disks in use:
100GB
Used Package:
Official Docker Image

Component, Query & Data
Affected feature:

AQL query INSERT using arangojs driver ONLY after a restore
AQL query (if applicable):
Dataset:

The documents are composed by tree keys:
db.collection.save({
uri: "URI_STRING",
node_type: "NODE_TYPE",
heading: "HEADING_NUMBER"
})
Size of your Dataset on disk:

500MB
Steps to reproduce

Insert a set of documents in two different collections (set 'padded' key generator for these collection)
Create a dump with arangodump saving also system-collections
Restore the dump created at previous step in a fresh copy of ArangoDB 3.6.4
Insert a new document in a collection

Problem:
I'm using ArangoDB Docker container v3.6.5 and I'm experiencing a problem while indexing new documents after a restore. The DB answer with a 'unique constraint violated - in index primary of type primary over '_key'; conflicting key:<PHONE_NUMBER>0004bb' error when I try to index a new document after a restore.
This problem does not arises if I index new documents in the empty database. It only appears after a restore operation. I use arangorestore command from within the container to restore the dump previously created with arangodump. It seems that the key generator for the given collection does not update the 'counter' after restore and returns the error as soon as a new insert operation is executed. I use 'padded' key generator for the collections if that information can help.
Expected result:
The expected result should be the same as index a new document in empty database.

Hi guys. Any news about this issue?

Hi @andrea-tesei,
Thanks for reporting, I was able to reproduce this issue according to your description. Including system collections does not seem necessary, it it also reproducible without them.
For easy reproduction, I am attaching a sample dump in this ticket:
dump.zip
Perform arangorestore into a fresh 3.6.5 single server deployment:
arangorestore dump/ --server.database padded --create-database true

Execute AQL query:
FOR i IN 1..1 INSERT {value: i} IN test3

Results in error:
unique constraint violated - in index primary of type primary over '_key'; conflicting key:<PHONE_NUMBER>000100

According to our docs, only the autoincrement key generator accepts an offset, but it might just be outdated: https://www.arangodb.com/docs/stable/http/collection-creating.html#create-collection
Still, it would only be a workaround. When writing a dump, the offset+1 should be exported so that restores work out of the box.

Thanks @Simran-B for the explanation. Can I do something to use this workaround for now? Or you have to fix this bug in the next release?

maxkernbach checked and the padded generator does not accept an offset nor is the current value dumped, so no workaround is available. This will require a larger bug fix, for which there is no ETA unfortunately.

Ok, I understood. So the only available solution is to move to another key generator, right? The autoincrement will be a good choice in this case? I'm worried about the performances of autoincrement key in case of huge databases: have you some performance measurements of the different key generators that I can study to evaluate this change? Thanks for your help.

Any news about my previous comment? If I had to change key generator, I want to know more on the differences between the ones available. I can take only informed decisions/changes at this state of development. I hope you understand.

There are two upcoming fixes for 3.6 #13424 and #13417 (and for 3.7 as well). I tested them with 3.8.devel and it correctly dumped and restored lastValue, and also assigned _keys > lastValue after restore.
@andrea-tesei The bug fixes are expected to be released with v3.6.12 and v3.7.7 soon. Sorry that it took so long.

There are two upcoming fixes for 3.6 #13424 and #13417 (and for 3.7 as well). I tested them with 3.8.devel and it correctly dumped and restored lastValue, and also assigned _keys > lastValue after restore.
@andrea-tesei The bug fixes are expected to be released with v3.6.12 and v3.7.7 soon. Sorry that it took so long.

Hi @Simran-B thanks for this update. If you can notify me as soon as those two fixes for 3.7 will be released, I can do some tests and give you feedbacks. Thanks

Hi @Simran-B thanks for this update. If you can notify me as soon as those two fixes for 3.7 will be released, I can do some tests and give you feedbacks. Thanks

Hello,
I've been struggling with a very similar (but not identical) issue myself recently and wanted to check here first whether it's possible the root cause is the same before potentially raising another issue - I'm also getting a unique constraint violation on _key (to be specific: Response: 409, Error: 1210 - unique constraint violated - in index primary of type primary over '_key'; conflicting key: 10070041) but in my case the collection is using the default (traditional) key generator. Similarly to this issue's description this happens only following an arangorestore. In my case this is the Java driver and a clustered ArangoDB deployment - more than happy to provide more info, keeping it minimal in case this is not a related issue at all.

@choppedpork The upcoming bug fixes are limited to the autoincrement and padded key generators and the issue here is about the padded key generator, so I would classify your issue as a different problem. I created a separate issue here: #13465

Was this issue ever solved/ were the bug fixed add to the latest releases?

just happend in production in 3.11.4... investigating

but not in conjunction with an arangorestore?
This should have been fixed as part of the 3.9 release series. So it should probably be closed.

Luckily it for you it probably was^^
Last Friday I dumped an <IP_ADDRESS> Arango Windows installation and restored on 3.11.4 Linux with the 3.9 arango restore tool.
The system was in production use from Monday 8am till today 9am when it began failing.
My fix was to rename the collection and recreate the collection with the key generator set to uuid.
Its a history collection, so it being empty now is not that bad and I will copy the old data back in with a new key

ok, since 3.9 is running end of life now, lets close it.


Typescript

This just about works, I would like to gradually move files from JS to TS. I created a new repo so a lot of dependencies are updated.

I would also have a method returning a description of several directions (i.e. pass in one or more directions, receive a string e.g. (NORTH, WEST) -> "North-West".)
And a maybe a method to get the same string from a Position?

I can't reply directly to this, but I already have that living somewhere else. It'll probably make its way into the Direction file when I get round to it, but currently it's only used in one place and so was written in that one place (before the Direction file existed).

Also, considering that you have made all your old objects alphabetical, you need to do it to some of the newer ones

I can't reply directly to this, but I already have that living somewhere else. It'll probably make its way into the Direction file when I get round to it, but currently it's only used in one place and so was written in that one place (before the Direction file existed).

Yes, I can't review properly on my phone, sorry. I did see that later on.


Add "Trial Notification" to static pages

Solves #13079
For the FE/BE Split, we needed to add the Trial Notification banner both in Profile and Account view.

retest this please

retest this please

This works perfectly 🚀


Unpublished/published toggle (in toolbar) does not update frontmatter

Toggling between unpublished and published in the toolbar does not update the frontmatter data. When you click on the commit button and see a preview of your changes, nothing has been changed.
I have tried to trace through where this is caused and can see that the togglePublishing function works as expected (flipping the boolean value), but as soon as makeDirty is called, the metadata on the model is reset by this.metadataEditor.getValue().
This is the frontmatter that I am using:
---
layout: blog
date: "2015-07-31 15:10 +0100"
published: false
title: Unpublished blog post
author: Tom Sabin
---

In my _prose.yml config I have a published checkbox, but I can't think how this could affect this toggle.
- name: 'published'
  field:
    element: 'checkbox'
    label: 'Published?'
    help: 'Published by default'
    value: true

I've dived down and found out why this is happening. The toolbar metadata is being set before the config (https://github.com/prose/prose/blob/master/app/views/metadata.js#L272:L278, lines 279:322 set the meta data from the config file.
So for an unpublished post:

Toggling the button to publish from the button sets the value to true
metadataEditor.getValue() sets this back to false because that is what the config has.

Closing this issue and will try and find a more suitable way to add the published frontmatter field.

Hey @tomsabin, a little late to the party but thanks for debugging this. It sounds like the toolbar should work as expected unless you include a metadata field under published?
If that's the case, there should be some documentation on this at the least, and preferably a fix that respects the toggle in the toolbar.