Split up Bookdown and Leanpub Repos

Summary
After talking with @jtleek and @carriewright11 , we're going to start splitting up the bookdown components from the Leanpub items.
This way content development with bookdown can move forward but later on we can add Leanpub quizzes and course functionality in an incremental manner.
Every course that wants quizzes would have two repositories:
If a course doesn't need quizzes or the format given by Leanpub, then it can be a standalone bookdown repo.
jhudsl/ITCR_Course_Template_Bookdown

Has all the chapters, generally just functions as a bookdown repo
Is a public repo
Has a docker image to work from
Has a CONTRIBUTING.md that specifies the bookdown bits - including to how to set up the companion leanpub repo for quizzes should the course need that.

jhudsl/ITCR_Course_Template_Leanpub

Chapter material will be constructed from using a github actions to transfer its corresponding jhudsl/ITCR_Course_Template_Bookdown material. As a placeholder, we'd just link out to the bookdown chapters until the cogs of this machine (started on #15 are fully developed).
Has the quizzes and thus is a private repo to protect those quizzes.
Might need a different, but very tiny docker image (or maybe it will just be a few packages it needs so we won't need a docker image).
Has a preview/publish to Leanpub script.
Has a CONTRIBUTING.md that specifies the Leanpub bits

That being said, I'm going to work on converting this current repo into the bookdown focused Repo and then create a separate repo for the Leanpub pieces and transfer some items that I've been working on over there.

See the (rather bare currently) Leanpub focused repo here: https://github.com/jhudsl/ITCR_Course_Template_Leanpub

This has been done!


+*((NEW_METHOD))Free Roblox Gift Card Codes 2024 ➖Free Roblox Gift Card Codes✔ Free Robux Codes

03 sec ago- Entirely free Roblox Robux Generator 100% Working Robux Generator No Survey. Roblox Robux Generator Free Robux Codes, Free Robux, Free Robux, Free Robux Generator, Free Robux Generator.
✅👉 CLICK HERE TO GET FREE NOW
✅👉 CLICK HERE TO GET FREE NOW
Robux, derived from the words "Roblox" and "bucks," was introduced to the Roblox community on May 14th, 2007. Originally, Roblox used a different currency called "Roblox Points" or "R$." However, due to the need for a more intuitive, versatile, and universally recognizable currency, Robux was born.
🟢 Click here for free robux 🟢

The Functionality of Robux:

Robux serves as the primary medium of exchange within the Roblox platform, enabling users to purchase various in-game items, accessories, avatar upgrades, game passes, and developer products. It acts as a catalyst for creativity, encouraging users to design and create their unique virtual worlds, avatars, and games.

The Acquisition of Robux:

Robux can be obtained through various means, providing users with both free and paid options. Let's explore the different methods of acquiring Robux:
a) Builders Club Membership: Roblox offers a premium membership known as Builders Club, which grants exclusive benefits, including a daily Robux stipend. Depending on the tier of membership (Classic, Turbo, or Outrageous), users receive 15, 35, or 60 Robux per day, respectively.
b) Robux Purchases: Users can directly purchase Robux from the Roblox website, mobile app, or official authorized retailers. Roblox offers different purchasing options, ranging from small Robux packs to larger bundles, catering to users with varying needs and budgets.
c) Developer Exchange: Talented developers who create engaging games or sell unique virtual items and clothing can convert their earned Robux into real currency through the Developer Exchange program. This program allows them to monetize their creations and incentivizes further creativity within the Roblox ecosystem.
d) Participation in Affiliate Programs: Some Roblox influencers and content creators have the opportunity to join affiliate programs, promoting Roblox-related products or events. As a part of these programs, they may receive Robux rewards, further enhancing their interactions with the community.
e) Roblox Promo Codes and Events: Roblox occasionally releases promo codes and hosts events that provide users with the chance to acquire Robux or exclusive virtual items for free. These codes and events are eagerly anticipated by the Roblox community.

The Economy of Robux:

Robux has created a thriving virtual economy within Roblox, driven by the creativity and ingenuity of its users. Through the Roblox Developer Marketplace, users can sell their creations, including game passes, virtual items, clothing, and accessories, in exchange for Robux. This marketplace fosters entrepreneurship, inspiring developers to create innovative experiences while providing users with a wide array of choices to enhance their virtual presence.

The Impact of Robux on the Roblox Community:

Robux has had a profound impact on the Roblox community, shaping the experiences of millions of players worldwide. It has empowered aspiring developers to monetize their talents, encouraging them to create high-quality games and virtual items. The ability to customize avatars and purchase unique accessories has enabled users to express their creativity and individuality, fostering a sense of personal ownership within the platform. Furthermore, the availability of Robux through the Builders Club membership has provided a sense of progression, incentivizing users to actively engage with the platform and explore their creative potential.
Conclusion:
Robux, the virtual currency of Roblox, has become an integral component of the platform, fueling imagination, creativity, and entrepreneurship within the community. Its role as a medium of exchange, coupled with its various acquisition methods, has created a vibrant virtual economy that continues to evolve.


Improve the behavior of DropdownButton.disabledHint

DropdownButton.disabledHint was introduced by #18770
However, if a DropdownButton has some items and a selected value but the onChanged is null(disabled), the button only shows the [disabledHint] or [hint] or nothing if both of them are null. It should actually show the selected value instead of the hints, even if the button is disabled.
https://github.com/flutter/flutter/pull/70277 was the first attempt at this, but it failed some internal Google tests. At a glance, the tests seemed to be failing because a disabled dropdown button would display the selected value, but with the incorrect text color (it should be showing with the disabled color instead of the selected text color). https://github.com/flutter/flutter/pull/71559 reverted this PR.
cc/ @xu-baolin

It also caused a few failures where it shows the disabledHint over the selected value, but those seem easier to patch and I can go try and make those fixes.


Uncaught SyntaxError: Invalid regular expression: /|>\s*??$/: Nothing to repeat

I was simply editing around when I got this error:
(This submit directly from atom thing is awesome)
Atom Version: 1.8.0
System: Microsoft Windows 10 Home Insider Preview
Thrown From: atom-elixir package, v0.1.4
Stack Trace
Uncaught SyntaxError: Invalid regular expression: /|>\s*??$/: Nothing to repeat
At /C:/Users/olivermt/.atom/packages/atom-elixir/lib/elixir-autocomplete-provider.coffee:51

SyntaxError: Invalid regular expression: /\|>\s*??$/: Nothing to repeat
    at new RegExp (native)
    at RegExp (native)
    at ElixirAutocompleteProvider.module.exports.ElixirAutocompleteProvider.getSuggestions (file:///C:/Users/olivermt/.atom/packages/atom-elixir/lib/elixir-autocomplete-provider.coffee:35:43)
    at C:\Users\olivermt\AppData\Local\atom\app-1.8.0\resources\app.asar\node_modules\autocomplete-plus\lib\autocomplete-manager.js:310:56
    at Array.forEach (native)
    at AutocompleteManager.module.exports.AutocompleteManager.getSuggestionsFromProviders (C:\Users\olivermt\AppData\Local\atom\app-1.8.0\resources\app.asar\node_modules\autocomplete-plus\lib\autocomplete-manager.js:289:17)
    at AutocompleteManager.getSuggestionsFromProviders (C:\Users\olivermt\AppData\Local\atom\app-1.8.0\resources\app.asar\node_modules\autocomplete-plus\lib\autocomplete-manager.js:3:61)
    at AutocompleteManager.module.exports.AutocompleteManager.findSuggestions (C:\Users\olivermt\AppData\Local\atom\app-1.8.0\resources\app.asar\node_modules\autocomplete-plus\lib\autocomplete-manager.js:276:19)
    at C:\Users\olivermt\AppData\Local\atom\app-1.8.0\resources\app.asar\node_modules\autocomplete-plus\lib\autocomplete-manager.js:3:61

Commands
     -0:32.3.0 fuzzy-finder:toggle-file-finder (atom-text-editor.editor.is-focused)
     -0:30.5.0 editor:delete-to-beginning-of-word (atom-text-editor.editor.mini.is-focused)
     -0:29.1.0 core:confirm (atom-text-editor.editor.mini.is-focused)
  3x -0:22.1.0 core:move-left (atom-text-editor.editor.is-focused)
  3x -0:21.2.0 editor:delete-to-end-of-word (atom-text-editor.editor.is-focused)
  2x -0:19.6.0 core:delete (atom-text-editor.editor.is-focused)
  5x -0:09.4.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:00.7.0 core:move-right (atom-text-editor.editor.is-focused)

Config
{
  "core": {
    "allowPendingPaneItems": false,
    "excludeVcsIgnoredPaths": false,
    "openEmptyEditorOnStart": false,
    "packagesWithKeymapsDisabled": [],
    "projectHome": "C:\\Users\\olivermt\\Documents\\code"
  }
}

Installed Packages
# User
atom-elixir, v0.1.4
git-control, v0.7.1
language-elixir, v0.13.1
language-groovy, v0.6.0
Sublime-Style-Column-Selection, v1.5.1

# Dev
No dev packages

I can't reproduce this problem. Are you getting this error many times or was it only this once?

Was only once and I later in the day had a weird git bug that made me have
to reboot to access a folder. Running on the linux enabled win10 preview,
so I guess we can likely attribute it to that.
On Jun 28, 2016 00:50, "Marlus Saraiva"<EMAIL_ADDRESS>wrote:

I can't reproduce this problem. Are you getting this error many times or
was it only this once?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/msaraiva/atom-elixir/issues/32#issuecomment-228899144,
or mute the thread
https://github.com/notifications/unsubscribe/AAtB5X4SvyYrwxUJ2A-sEpOjRO3v35MLks5qQFNfgaJpZM4I1B0e
.

This seems to still be a bug in this package.
Starting with the code:
defmodule MyMod do
  def fun? do
  end
end

I find that the error is thrown each time I add an additional ? to the end of the function name.
Atom: 1.21.1 x64
Electron: 1.6.15
OS: "Manjaro Linux"
Thrown From: atom-elixir package 0.2.3
Stack Trace
Uncaught SyntaxError: Invalid regular expression: /|>\s*fun???$/: Nothing to repeat
At /home/me/.atom/packages/atom-elixir/lib/elixir-autocomplete-provider.coffee:55

SyntaxError: Invalid regular expression: /\|>\s*fun???$/: Nothing to repeat
    at RegExp (<anonymous>)
    at ElixirAutocompleteProvider.module.exports.ElixirAutocompleteProvider.getSuggestions (/packages/atom-elixir/lib/elixir-autocomplete-provider.coffee:55:43)
    at providers.forEach.provider (/usr/lib/atom/node_modules/autocomplete-plus/lib/autocomplete-manager.js:268:52)
    at Array.forEach (native)
    at AutocompleteManager.getSuggestionsFromProviders (/usr/lib/atom/node_modules/autocomplete-plus/lib/autocomplete-manager.js:244:15)
    at AutocompleteManager.findSuggestions (/usr/lib/atom/node_modules/autocomplete-plus/lib/autocomplete-manager.js:236:17)

Commands
     -9:31.6.0 core:backspace (input.hidden-input)
     -9:30.3.0 atom-elixir:autocomplete-enter (input.hidden-input)
     -9:30.3.0 autocomplete-plus:confirm (atom-text-editor.editor.is-focused.autocomplete-active)
     -9:30.2.0 snippets:expand (atom-text-editor.editor.is-focused)
     -9:27.6.0 snippets:next-tab-stop (input.hidden-input)
     -9:26 atom-elixir:autocomplete-enter (input.hidden-input)
     -9:26 autocomplete-plus:confirm (atom-text-editor.editor.is-focused.autocomplete-active)
     -9:25.9.0 snippets:expand (atom-text-editor.editor.is-focused)
     -6:28.2.0 intentions:highlight (input.hidden-input)
     -6:27.7.0 settings-view:open (input.hidden-input)
  6x -6:19.5.0 core:backspace (input.hidden-input)
     -2:59.6.0 intentions:highlight (input.hidden-input)
     -2:59.6.0 core:select-all (input.hidden-input)
     -2:59.3.0 intentions:highlight (input.hidden-input)
     -2:59.2.0 core:copy (input.hidden-input)
     -2:54.9.0 core:move-left (input.hidden-input)

@msaraiva Here is sample code to reproduce the issue:
def book_trip(attrs) do
  Repo.transaction(fn ->
    with {:ok, exchange_rates} <- BillingAPI.fetch_currency_exchange_rates(attrs),
         {:ok, card_authorization} <- BillingAPI.authorize_card(exchange_rates, attrs),
         {:ok, hotel_booking} <- HotelBookingAPI.book_hotel(attrs),
         send_email_confirmation(card_authorization, hotel_booking, attrs),
         {:ok, charge} <- BillingAPI.charge_card(card_authorization) do
      {:ok, %{charge: charge, bookings: [hotel_booking]}}
    else
      {:error, {:authorization_expired, authorization}} ->
        :ok = send_excuse_email(authorization)
        :ok = cancel_booking(...) # Type question marks here instead of dots
        {:error, authorization}

      other ->
        other
    end
  end)
end


upx

add upx recommendation

Thanks for the nice addition to the README! I took the opportunity while it was being changed to make a few tweaks myself as well.


feat(presets/client): support enumValues option

Description
Add support for enumValues in @graphql-codegen/client-preset.
Related https://github.com/dotansimha/graphql-code-generator/issues/8562#issuecomment-1643499311
Type of change
Please delete options that are not relevant.

[ ] 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 not work as expected)
[ ] This change requires a documentation update

Screenshots/Sandbox (if appropriate/relevant):
N/A
How Has This Been Tested?

Added a test case for enumValues with enum replacement. Ran yarn test.

Test Environment:

OS: macOS Sonoma 14.6.1
@graphql-codegen/client-preset: 4.3.3
NodeJS: 20.14.0

Checklist:

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

Further comments
The @graphql-codegen/client-preset package now supports the enumValues option.

@dotansimha @saihaj Could you please review and run tests on this pull request?
Thanks!


Issue #287 - Altering how URIs defined in CSV-Ws.

PR to alter how URIs are configured in serialised CSV-Ws.
All URI fragments use the permitted chars as defined in the w3c URI spec
Current URIs look like this:

Data Structure Definition:

cube-name.csv#obs.{dimension_value1},{dimension_value2}@{measure_identifier}
cube-name.csv#component.{component_identifier}
cube-name.csv#measure.{measure_identifier}
cube-name.csv#unit.{unit_identifier}
cube-name.csv#attribute.{attribute_identifier}
cube-name.csv#attribute.{attribute_identifier}/{attribute_value_identifier}
cube-name.csv#dimension.{dimension_identifier}
cube-name.csv#class.{class_identifier}
cube-name.csv#dataset
cube-name.csv#structure

Code-list definition:

code-list-name.csv#code-list (scheme)
code-list-name.csv#{concept-identifier}

Ty for taking in feedback about the / awkwardness, though for now my initial reaction was / over ..
Also I really do prefer codelist to code-list. 😂


What if we added the name of the genome group as one of the columns in the PFS filter?

That way, people would be able to see which genomes came from specific groups.  If it wasn't part of a group, it would be blank.  I think that this would be a significant improvement to the tool

I understand the need. However, the current structure retrieves all the gnome ids from the genome groups and pass the "list of genome ids" to the protein family widget. That's how it could work with taxonomy, genome list, and genome pages.
So, the genome ID and genome group association info will be lost before it hits the filter grid, which is the reason we could not implement at the previous request. This requires architectural consideration and I don't think we can deliver it before the Nov release.


APM TRACE ANALYZER - What is the value

This whole section seems clunky and slow, with lots of clicking required - does it really add value?

@geoffhigginbottom The idea here is for the attendee to get to their trace that corresponds to their orderId. It is only a couple of steps so unsure of the issue here.

Resolved in the public release.


A bug in RNode

Line 158:
if (TypeUtils.compareTo(p.value, value, type) < 0)

should be
if (TypeUtils.compareTo(p.value, value, type) <= 0)

right?
For example, the value on the RNode is 10. Even the predicate value is 10, we still do not need to go right.

You are right. Nice find.


When use  the Where condition and The value with Counter other field in ORM Update

1. What version of Go and system type/arch are you using?
go version go1.20.3 darwin/amd64
2. What version of GoFrame are you using?
GoFrame CLI Tool v2.5.1, https://goframe.org/
GoFrame Version: v2.5.2 in current go.mod
CLI Installed At: /usr/local/bin/gf
CLI Built Detail:
Go Version: go1.20.4
GF Version: v2.5.1
Git Commit: 2023-07-26 21:27:58 https://github.com/gogf/gf/commit/e0e00434cc87d6edf64fc3df40ce7d3f40758794
Build Time: 2023-07-26 21:32:56
3. Can this issue be re-produced with the latest release?
Yes
4. What did you do?
When use  the Where condition and The value with Counter other field in ORM Update
In official example
https://goframe.org/pages/viewpage.action?pageId=1114238
updateData := g.Map{
	"views": &gdb.Counter{
        Field: "clicks",
        Value: 1,
    },
}
// UPDATE `article` SET `views`=`clicks`+1 WHERE `id`=1
result, err := db.Update("article", updateData, "id", 1)

In my example
var (
			columns = dao.Order.Columns()
			ctx     = context.TODO()
		)
		data := g.Map{
			columns.AfterSurplus: &gdb.Counter{
				Field: columns.Amount,
				Value: 0,
			},
		}
		affect, err := dao.Order.
			Ctx(ctx).
			Unscoped().
			Data(data).
			Where(columns.OrderSn, "1242308294272199").
			UpdateAndGetAffected()

		convey.So(err, convey.ShouldBeNil)
		convey.So(affect, convey.ShouldBeGreaterThan, 0)

Stack INFO:
Actual:   'data cannot be empty'
5. What did you expect to see?
UPDATE `order` SET `after_surplus`=amount+0 WHERE `order_sn`='1242308294272199'

6. What did you see instead?
columns.AfterSurplus: gdb.Raw(columns.Amount + "+" + strconv.Itoa(0)),

//columns.AfterSurplus: &gdb.Counter{
//	Field: columns.Amount,
//	Value: 0,
//},

@qq413434162 That is the orm checks the updating increment value 0 is meaningless, it so ignores the updates data. You can change the data as follows:
data := g.Map{
    columns.AfterSurplus: &gdb.Counter{
        Field: columns.Amount,
        Value: 1,
    },
}


Inconsistency in number of tokens

I am trying to use OpenAI embeddings to get the embeddings of a big collection of data (4M+) to make sure that the run isn't interrupted, I filtered out the data with more than 8191 tokens and used the following code to calculate the number of tokens.
  tiktoken_encoder = tiktoken.encoding_for_model("text-embedding-ada-002")
  text_tokens = tiktoken_encoder.encode(text)
  return len(text_tokens)

I still got errors that I exceeded the max number of tokens (this cost me over $400 already):
This model's maximum context length is 8191 tokens, however, you requested 8469 tokens (8469 in your prompt; 0 for the completion). Please reduce your prompt; or completion length.

I checked text-embedding-ada-002 and it's working correctly for me. That is:
openai.Embedding.create(input=enc.decode(enc.encode(long_text)[:8191]), model="text-embedding-ada-002")["data"][0]["embedding"] works but openai.Embedding.create(input=enc.decode(enc.encode(long_text)[:8193]), model="text-embedding-ada-002")["data"][0]["embedding"] fails
Try:

Using the code from https://github.com/openai/openai-cookbook/blob/main/examples/Embedding_long_inputs.ipynb
Double checking you're using the right model
Contacting<EMAIL_ADDRESS>


Added start of week and month date helpers

This functionality is already covered by the public startOf(type: Time, weekStartDay?: WeekStartDay): TcDate method


Downgrade org.reflections to 0.9.11 due to a bug

Apparently I'm able to invoke our codepropertygraph's console via a path
that triggers https://github.com/ronmamo/reflections/issues/273.
This is very unfortunate and due to the way the artifact is being
published I'm unable to downgrade directly in the project I use.
Sadly this dependency is propagated very far down the chain and it
impossible to untangle it.
The fix is in 0.9.13-SNAPSHOT (not yet released) so suggesting to
downgrade until it is officially out.

Replaced with https://github.com/ShiftLeftSecurity/overflowdb/pull/162


[Improvement] Error message in WebUI is confused when user does not exist

What would you like to be improved?
After enabling authorization, the error message on the front end is not clear, the real message is
Failed to operate catalog(s) [test] operation [CREATE] under metalake [test_metalake], reason [Current user anonymous doesn't exist in the metalake test_metalake, you should add the user to the metalake first]

but WebUI show:

How should we improve?
Pass the actual error message in WebUI

@LauraXia123 cc


Added raw(img) to wrap the data out of UfixedBase, #190

This adds the raw(img) functionality, as discussed in #190

Can I ask that you add a couple of tests, too? In particular, it's worth checking this works for both grayscale and RGB images. It should work because of https://github.com/timholy/Images.jl/blob/79eb3551b9c8dd06b414ba21a65b021ebd76354a/src/core.jl#L129-L162, but it's worth double-checking.
Adding documentation to https://github.com/timholy/Images.jl/blob/master/doc/function_reference.md and/or the README would be a bonus!
If you wait until https://github.com/JuliaLang/METADATA.jl/pull/2549 is merged, then the tests should pass again.

Actually, they may not pass due to https://github.com/JuliaLang/julia/issues/10513#issuecomment-99119291.

sounds good, I will add tests and docs.
Currently I am avoiding julia v0.4, i'm afraid of having to spend too much time porting my code, as there are many code breaking changes.

Nothing you need to worry about here. While you don't have to test 0.4 locally, Travis tests it for you. I noticed it was broken, so dug into it and discovered SIUnits needed updating.
The parallel test (the last one) may still be broken on 0.4, however. Again, nothing you need to worry about.

Hi Tim, I added the docs and some tests.
So far raw() expects an image as its argument, so it will throw an error if called with an array, for example. This contrasts with data(), shall we then define a fallback for arrays, as in data()?
julia> data(zeros((2,3)))
2x3 Array{Float64,2}:
 0.0  0.0  0.0
 0.0  0.0  0.0

julia> raw(zeros((2,3)))
ERROR: `raw` has no method matching raw(::Array{Float64,2})

Changes Unknown when pulling dab15a52a9dff2243e7e4553d27dde31f98a637c on cbecker:rawcast into ** on timholy:master**.

Changes Unknown when pulling dab15a52a9dff2243e7e4553d27dde31f98a637c on cbecker:rawcast into ** on timholy:master**.

Nice! Yes, I agree a fallback for arrays would be good. All you have to do is change the signature to raw(img::AbstractArray) and you should be good to go.

Done, I rebased the PR as well.
I had to add a particular case for raw([]).

Coverage increased (+0.04%) to 60.82% when pulling fcc46eaef875b566d071ff313bd5f18d54a09ed0 on cbecker:rawcast into b9348e644c6466acc9d0ffc3e50c6fee3592cc01 on timholy:master.

Thanks!


/support command's response button

Complete the following REQUIRED checkboxes:

[x] I have thoroughly read and understand The Odin Project Contributing Guide

[x] The title of this issue follows the command name: brief description of request format, e.g. /help: add optional @user parameter

The following checkbox is OPTIONAL:

[ ] I would like to be assigned this issue to work on it

1. Description of the Feature Request:

the /support command currently prints out a message with two buttons, one of which being the 💰 Donate Now
I feel that this button emoji can be something more on the idea of what is it to support us. Because for me the money bag kind of resembles greed, maybe from all the cartoon that I watched when I was a kid that had greedy people having lots of money bags, or banks.
It could be an emoji of Open collective, Heart, custom-made emoji, or this rocket 🚀 I'm pretty sure there are better ideas too.
Appreciate a second opinion on this if someone can see the connection I'm making
2. Acceptance Criteria:

Replace money bag emoji with something else
3. Additional Information:

I left the assignment box unchecked in case this issue gets accepted, it would be a good first contribution

@Mclilzee can't make the 💰 -> greedy connection personally, but happy to concede to another emoji. What do you think about 🚀 then?

I don't feel this one represent the donation idea either, I think more opinion about this from the team would do us good here. Could be it's only me that sees it as greed emoji.

While I can see how some might think :moneybag: a bit of stretch for "greed", I can actually see how some would associate it slightly more that direction.
Like, I don't think it's a "big deal" by any means, but the suggestion does still make sense to me as to where it's coming from.
A custom emoji for Open Collective sounds nice. How about making the backer badge a custom emoji and using that instead? Don't think a coin, particularly one with Odin on it and the one that's used as the backer role badge, can be argued as "greed-related" as :moneybag:
Thoughts?

I'm not sure if this is still something being discussed, but I like the suggestion from Mao.
Something that is more related to Odin as a "brand" feels like a smarter option.

@Mclilzee happy to change the emoji for the donate button to use '1270559118368964710'? That's the backer coin emoji ID number

Yes, that is very reasonable and a great idea!

Acceptance criteria

[ ] The /support slash command's "donate" button has its emoji changed from '💰' to '1270559118368964710'

Please comment below if you'd like to be assigned to this issue. Please do not open a PR unless you have been assigned by a maintainer.

Hey 👋 I would like to contribute if possible.
Just for clarification as well, all you need to do is change .setEmoji('💰') in
https://github.com/TheOdinProject/odin-bot-v2/blob/9ced2805a0bbd2737f493860e114ab942f37e47e/new-era-commands/slash/support.js to match '1270559118368964710'?

@ItsTosh just .setEmoji('1270559118368964710>') should be sufficient.


Table rowspan layout bug

Using a table in which some cells have a large row span, they render correctly in HTML5 output, but in PDF output they're badly wrong.
Here is a sample table for which the layout is broken:
[[SupportedInformCommands]]
.Supported Commands
[%header]
|===
| | Smart View | Classic View

.8+| *General*
| Comment | COMMENT INST
| SetShockDetection | SHCKSET
| ResetShockDetection | SHCKRST
| AdvInit | ADVINIT
| AdvStop | ADVSTOP
| SkillSend | SKILLSND
| EnableAvoidance | EI LEVEL=1
| DisableAvoidance | DI LEVEL=1

.18+| *Motion*
| JointMove | MOVJ
| LinearMove | MOVL
| CircleMove | MOVC
| SplineMove | MOVS
| Incremental | IMOV
| SetSpeed | SPEED
| ShiftOn | SFTON
| ShiftOff | SFTOF
| ShiftOn3D | SFTON3D
| ShiftOff3D | SFTOF3D
| MakeShift | MSHIFT
| HighAccuracyPathOn | HTRAJON
| HighAccuracyPathOff | HTRAJOF
| SpeedPriorityOn | HPVELON
| SpeedPriorityOff | HPVELOF
| MultiMoveOn | HPMMVON
| MultiMoveOff | HPMMVOF
| Smooth | SMOOTH

.7+| *I/O*
| DigitalOut | DOUT
| DigitalIn | DIN
| PulseOut | PULSE
| Wait | WAIT
| AnalogOut | AOUT
| AOutRatioOfSpeedOn | ARATION
| AOutRatioOfSpeedOff | ARATIOF

.34+| *Math*
| Set | SET
| Increment | INC
| Decrement | DEC
| Add | ADD
| Subtract | SUB
| Multiply | MUL
| Divide | DIV
| Clear | CLEAR
| Convert | CNVRT
| And | AND
| Or | OR
| Not | NOT
| Xor | XOR
| SetElement | SETE
| GetElement | GETE
| GetSystemVar | GETS
| SquareRoot | SQRT
| Sine | SIN
| Cosine | COS
| ArcTanget | ATAN
| MultiplyMatrix | MULMAT
| Invert Matrix | INVMAT
| GetPosition | GETPOS
| MakeFrame | MFRAME
| StringToValue | VAL
| ValueToString | VAL2STR
| CharToInt | ASC
| IntToChar | CHR$
| SubString | MID$
| StringLength | LEN
| ConcatenateString | CAT$
| SearchString | STRSTR
| SetRegister | SETREG
| GetRegister | GETREG

.21+| *Control*
| Label | LABEL
| Jump | JUMP
| IfThen | IFTHEN
| ElseIf | ELSEIF
| Else | ELSE
| While | WHILE
| For | FOR
| Call | CALL
| GetArgument | GETARG
| Return | RET
| Timer | TIMER
| Pause | PAUSE
| Abort | ABORT
| SetUserAlarm | SETUALM
| Message | MSG
| Switch | SWITCH
| Case | CASE
| Default | DEFAULT
| StartParallelJob | PSTART
| WaitForParallelJob | PWAIT
| ThreadSync | TSYNC

.8+| *Application*
| ArcWeldingOn | ARCON
| ArcWeldingOff | ARCOF
| WeldVoltage | VWELD
| WeldCurrent | AWELD
| SetWeldingCondition | ARCSET
| WeavingOn | WVON
| WeavingOff | WVOF
| SetpointAdjustFromStart | ARCCTS
|===

And a screenshot of part of the partial layout from the generated PDF is attached.

(also, suggestions on how to work-around this  - or fix it - welcome.  My constraint is that I'm matching an existing FrameMaker document, so I need to maintain table numbering)

Oops - posted above as org account.

It's well known with Asciidoctor PDF that a cell cannot span the height of a page. When it does, things can go haywire. This is a limitation of prawn-table and there is nothing we can do about it.
If you need further assistance, please ask in the project chat at https://chat.asciidoctor.org. Thanks.

ok - I'll check if one of those spans is longer than a page.
Is this in a list of well-known bugs somewhere? (this is a bug in asciidoctor-pdf, after all).  It may be that asciidoctor-pdf's implementation uses prawn-table and it is a bug in that, but, by extension, then it is a bug in asciidoctor-pdf (- regular users don't care what dependencies asciidoctor uses or where the issue is precisely).
So, I guess this is closed as 'wont to fix' (impractical without ditching prawn-table or fixing that, I'm guessing), rather than 'not a bug'.
I'll post back here if I find any useful info about the prawn-table bug (- just as soon as I find out what prawn-table is...)


describe amenity=toilets as "public toilets" not "toilets"

It seems at least some people create amenity=toilets for toilets without public access.
I think that it may be a good idea to explicit describe amenity=toilets as public ones.

There is an access=* field for this...

The problem is that amenity=toilets is not supposed to be used for private toilets...

The problem is that amenity=toilets is not supposed to be used for private toilets...

No, there is no "supposed to be" in OSM.  People add what they want to add.  If somebody wants to micromap their bathroom, that's cool.


Upgrade to duktape 2.0.2

I downloaded 2.0.2, replaced the appropriate files, make libduktape and it seemed to "just work" if I run the crystal spec suite.
Hopefully travis will confirm this :)

I guess travis didn't like it.
I've been able to run the spec locally just fine. Travis is not really helpful (no trace in the logs.)
Any thoughts?

@jeromegn - Awesome! This is great! I haven't looked at the PR yet, but moving to >= v2 has been on my TODO list for some time.
I'll try to set aside some time in the next couple of days to take a look!
Thanks.

As for the travis failures, what happens if you try to run this locally on your branch?
make clean cleanlib
make libduktape
make spec

?

Oh, derp.
I got the same error. Looks like I wasn't cleaning up the lib correctly.
I ran crystal spec to see the actual error:
$ crystal spec
Undefined symbols for architecture x86_64:
  "_duk_fatal", referenced from:
      _*Duktape::Context@Duktape::API::ErrorHandling#fatal<Int32, String>:Nil in D-uktape5858C-ontext.o
     (maybe you meant: _duk_fatal_raw)
  "_duk_is_null_or_undefined", referenced from:
      _*Duktape::Context@Duktape::API::Type#is_null_or_undefined<Int32>:Bool in D-uktape5858C-ontext.o
  "_duk_push_string_file_raw", referenced from:
      _*Duktape::Context@Duktape::API::Eval#eval_file<String>:Int32 in D-uktape5858C-ontext.o
      _*Duktape::Context@Duktape::API::Push#push_string_file<String>:String in D-uktape5858C-ontext.o
      _*Duktape::Context@Duktape::API::Eval#eval_file_noresult<String>:Int32 in D-uktape5858C-ontext.o
  "_duk_throw", referenced from:
      _*Duktape::Context@Duktape::API::ErrorHandling#throw:Nil in D-uktape5858C-ontext.o
     (maybe you meant: _duk_throw_raw)
  "_duk_to_defaultvalue", referenced from:
      _*Duktape::Context@Duktape::API::Coercion#to_defaultvalue<Int32, Int32>:Nil in D-uktape5858C-ontext.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error: execution of command failed with code: 1: `cc -o "/Users/jerome/.cache/crystal/crystal-run-spec.tmp" "${@}"  -rdynamic  -L/Users/jerome/projects/github.com/jeromegn/duktape.cr/src/.build/lib -L/Users/jerome/projects/github.com/jeromegn/duktape.cr/src/.build/include -lduktape -lm -lxml2 -lpcre -lgc -lpthread /usr/local/Cellar/crystal-lang/0.21.1/src/ext/libcrystal.a -levent -liconv -ldl -L/usr/lib -L/usr/local/lib`

Ok, this is slightly more work than I expected. Especially since I don't have a great understanding of how duktape works.
It looks like only a few functions have been fully deprecated, but I can't be sure if others haven't had changes in arguments and such.
Easiest is to delete the deprecated ones. A bit harder reimplement like this: https://github.com/svaarala/duktape/blob/master/extras/duk-v1-compat (or straight up include those extras in the c bindings)
duk_is_null_or_undefined can be reimplemented using duk_require_type_mask if it's needed.
The trickiest one is duk_push_string_file_raw, the compat implementation is a bit more complicated: https://github.com/svaarala/duktape/blob/master/extras/duk-v1-compat/duk_v1_compat.c#L25-L66
Anyway! I might take a look later, but I consider this PR closed.

Yea, there's a bit of work to be done here to fully migrate. I'm going to start a 2.0.X branch so that this can be easily worked on.
Of course any PRs are welcome!
Thankfully, the Duktape team keeps great changelogs: https://github.com/svaarala/duktape/blob/master/RELEASES.rst

Just an FYI - I'm starting work on migrating to 2.0.2 here: https://github.com/jessedoyle/duktape.cr/compare/duktape-2.0.
Right now I've got the C code compiling correctly on my machine - there's still a ton of work to do on the actual Crystal bindings.
I'll try to keep at it - hopefully I'll get the specs running within a relatively short period of time.
PRs are welcome into this branch if anyone wishes to contribute!
Thanks


Adjust parking suggestions: promote street_side to reflect usage

Description, Motivation & Context
The usage of Street-Side parking has greatly increased, but it was still ranked very low in the suggestions.
Related issues
Closes #1325
Links and data
Relevant OSM Wiki links:
https://wiki.openstreetmap.org/wiki/Key:parking
Relevant tag usage stats:
https://taginfo.openstreetmap.org/keys/parking#values
https://taghistory.raifer.tech/#***/parking/lane&***/parking/street_side
Checklist and Test-Documentation Template
Read on to get your PR merged faster…
Follow these steps to test your PR yourself and make it a lot easier and faster for maintainers to check and approve it.
This is how it works:

After you submit your PR, the system will create a preview and comment on your PR:

🍱 You can preview the tagging presets of this pull request here.
If this is your first contribution to this project, the preview will not happen right away but requires a click from one of the project members. We will do this ASAP.

Once the preview is ready, use it to test your changes.

Now copy the snippet below into a new comment and fill out the blanks.

Now your PR is ready to be reviewed.

## Test-Documentation

### Preview links & Sidebar Screenshots

<!-- Use the preview to find examples, select the feature in question and **copy this link here**.
     Find examples of nodes/areas. Find examples with a lot of tags or very few tags. – Whatever helps to test this thoroughly.
     Add relevant **screenshots** of the sidebar of those examples. -->

<!-- FYI: What we will check:
     - Is the [icon](https://github.com/ideditor/schema-builder/blob/main/ICONS.md) well chosen.
     - Are the fields well-structured and have good labels.
     - Do the dropdowns (etc.) work well and show helpful data. -->

### Search

<!-- **Test the search** of your preset and share relevant **screenshots** here.
     - Test the preset name as search terms.
     - Also test the preset terms and aliases as search terms (if present). -->

### Info-`i`

<!-- **Test the info-i** for your fields and preset and share relevant **screenshots** here.
     The info needs to help mappers understand the preset and when to use it.
     [Learn more…](https://github.com/tordans/id-tagging-schema/blob/main/CONTRIBUTING.md#info-i)
 -->

### Wording

- [ ] American English
- [ ] `name`, `aliases` (if present) use Title Case
- [ ] `terms` (if present) use lower case, sorted A-Z
<!-- Learn more in https://github.com/openstreetmap/id-tagging-schema/blob/main/GUIDELINES.md#2-design-the-preset -->

Test-Documentation
Before & After

It should be on the second position. The order of the list should be I think the same as in:
https://taginfo.openstreetmap.org/keys/parking#values

I am happing with merging the change. I think street side and roadside lane should be next to eachother so people research which to pick
https://wiki.openstreetmap.org/wiki/Tag:parking%3Dlane

Another improvement would be to add more help text right in iD, like with the strings description field.
More on that in https://github.com/ideditor/schema-builder/pull/152/files and https://github.com/openstreetmap/id-tagging-schema/blob/e25f91e8c0590024cfa6e23fe2a425594f0985b5/data/fields/marker.json#L7-L10 is an example. Especially for lane and street_side those inline text would help some users, I think. They are pretty hard to discover ATM because they are not visible by default.

A nice follow up would be to add icons to the most important options, like we have for crossings.
It might be possible to reuse some from StreetComplete, but the need to be simplified I think – see https://github.com/zlant/parking-lanes/issues/69
The schema is https://github.com/ideditor/schema-builder?tab=readme-ov-file#icons


[BUG] coords batch index should be 0 instead of 3 in bev.py

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
https://github.com/mit-han-lab/torchsparse/blob/462dea4a701f87a7545afb3616bf2cf53dd404f3/torchsparse/nn/modules/bev.py#L96
It seems some modules still use 3 as the batch index instead of 0 in the latest implementation.
Expected Behavior
Modify  to coords = (coords - self.offset).t()[[0] + self.bev_dims].long()
Environment
- GCC:
- NVCC:
- PyTorch:
- PyTorch CUDA:
- TorchSparse:

Anything else?
No response

Thank you for reporting this issue. Could you please submit a short pull request for this? Thanks!


TweetTokenizer add new emoticons characters

Hello! There is any way to add new characters to the emoticons tokenization ?
For example:
from nltk.tokenize import TweetTokenizer
tknzr = TweetTokenizer()
s1 = "This is a cooool :-*"
tknzr.tokenize(s1)
It gives as result:
['This', 'is', 'a', 'cooool', ':', '-', '*']
But I need to preserve these specific emotion ":-*".
Thanks for advance!

@danielafe7-usp
No, this is not (conveniently) possible.
TweetTokenizer detects emoticons using a specific regular expression:
https://github.com/nltk/nltk/blob/54221dec0bae2642d1642d182d8a381c88b86bd0/nltk/tokenize/casual.py#L57-L70
This regex will not match :-* (because * is not considered a valid option for a mouth), and cannot be extended in runtime by supplying some list of specific emoticons to also search for. However, this could be implemented as a feature. I might look into this if I have some spare time.

So TweetTokenizer will not be able to recognize valid Unicode emojis?
Because currently, what I get from this '🇸🇮🤝🇺🇦' is this '🇸', '🇮', '🤝', '🇺', '🇦'. Is there an option to add support from Unicode emojis?

@ajdapretnar  I feel like this is a bit of a complex situation. To give some context:
>>> string = "🇸🇮🤝🇺🇦"
>>> len(string)
5
>>> string[0]
'🇸'

Long story short, flags are combinations of regional indicator symbols. When converted into a string, Python is the one unable to recognize that 🇸🇮 is a (single) valid Unicode emoji, but it instead sees it as two separate regional indicator symbols. TweetTokenizer only rarely merges Unicode characters together: Only with Zero-Width-Joiners and Skin tone modifiers I believe (See #2843).
However, in that context, the Zero-Width-Joiners and Skin tone modifiers don't have other uses, but the regional indicator do have other users. If someone uses them to spell something out, grouping them together might not necessarily be the desired behaviour. (Although I could be convinced if someone is able to add a concise and simple implementation to this regex)

@tomaarsen Thank you for the reply. I see what's the problem. If it is a difficult/tricky fix, don't bother. Just something I noticed and thought it might be nice to solve. But I agree that there are two use cases that are at odds here.


Fix breakable block equation overflow

Fixes #5025.
Previously, single line equations (which could overflow) were not ran through the can_break branch of let equation_builders = .... Removing full_equation_builder.frames.len() > 1 from can_break ensures the multi-layouter produces frames that correspond 1-1 to regions.
I can't quite figure out why it was added in #4836.

I can't quite figure out why it was added in https://github.com/typst/typst/pull/4836.

Maybe the idea was just to save unnecessary work.
cc @EpicEricEE

Thanks!

Maybe the idea was just to save unnecessary work.

It was probably that.
I'm wondering though, why did it work for non-breakable equations? They also didn't run through the can_break branch. Does the multi layouter change its behavior if breakable is false?


Pod not updated for Swift 3

The Podspec specifies version 1.4.2, but the latest version on Cocoapods appears to be 1.3.3.
Also, the code installed via Cocoapods is the Swift 2.2 version, and does not contain the Swift 3 upgrade.

I am aware this is an issue. I'm still having difficulty getting it to successfully lint when I trunk the new version. I'm working on porting it to Swift 3 right now.

+1 same problem

Still having issues with Swift3 and cocoa pods, but I'm working on a fix. Sorry this is taking so long.

Hi, any update on Swift 3 support?

Hey! I've gotten Swift 3 support done. It should be live on cocoapods as soon as they update their repo. New version is now '0.5.0'. Thanks for hanging in there with me guys!


[admin] merge to live

Learn Build status updates of commit d6ba083:
:bulb: Validation status: suggestions

File
Status
Preview URL
Details

office-365-management-api/office-365-management-activity-api-schema.md
:bulb:Suggestion
View
Details

office-365-management-api/docfx.json
:white_check_mark:Succeeded

SECURITY.md
:white_check_mark:Succeeded

office-365-management-api/office-365-management-activity-api-schema.md

Line 1920, Column 712: [Suggestion: preserve-view-not-set - See documentation] You've pinned this link to a specific version of content with the view parameter. It's recommended not to pin a version unless that version is A) not the default view and B) the context is about that version specifically. To proceed with pinning a version add the &preserve-view=true to the URL.  Otherwise, remove the view parameter. URL: /microsoft-365/compliance/search-the-audit-log-in-security-and-compliance?view=o365-worldwide#the-appsharepoint-user-in-audit-records
Line 1930, Column 690: [Suggestion: preserve-view-not-set - See documentation] You've pinned this link to a specific version of content with the view parameter. It's recommended not to pin a version unless that version is A) not the default view and B) the context is about that version specifically. To proceed with pinning a version add the &preserve-view=true to the URL.  Otherwise, remove the view parameter. URL: /microsoft-365/compliance/search-the-audit-log-in-security-and-compliance?view=o365-worldwide#the-appsharepoint-user-in-audit-records
Line 1935, Column 127: [Suggestion: preserve-view-not-set - See documentation] You've pinned this link to a specific version of content with the view parameter. It's recommended not to pin a version unless that version is A) not the default view and B) the context is about that version specifically. To proceed with pinning a version add the &preserve-view=true to the URL.  Otherwise, remove the view parameter. URL: /microsoft-365/compliance/search-the-audit-log-in-security-and-compliance?view=o365-worldwide
Line 1952, Column 712: [Suggestion: preserve-view-not-set - See documentation] You've pinned this link to a specific version of content with the view parameter. It's recommended not to pin a version unless that version is A) not the default view and B) the context is about that version specifically. To proceed with pinning a version add the &preserve-view=true to the URL.  Otherwise, remove the view parameter. URL: /microsoft-365/compliance/search-the-audit-log-in-security-and-compliance?view=o365-worldwide#the-appsharepoint-user-in-audit-records
Line 1962, Column 690: [Suggestion: preserve-view-not-set - See documentation] You've pinned this link to a specific version of content with the view parameter. It's recommended not to pin a version unless that version is A) not the default view and B) the context is about that version specifically. To proceed with pinning a version add the &preserve-view=true to the URL.  Otherwise, remove the view parameter. URL: /microsoft-365/compliance/search-the-audit-log-in-security-and-compliance?view=o365-worldwide#the-appsharepoint-user-in-audit-records
Line 1967, Column 127: [Suggestion: preserve-view-not-set - See documentation] You've pinned this link to a specific version of content with the view parameter. It's recommended not to pin a version unless that version is A) not the default view and B) the context is about that version specifically. To proceed with pinning a version add the &preserve-view=true to the URL.  Otherwise, remove the view parameter. URL: /microsoft-365/compliance/search-the-audit-log-in-security-and-compliance?view=o365-worldwide

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Get a simplified voice to text demo built.

I think I'm close enough on this one... with a demo I have in place...


Add support for portfolio

What this PR does / why we need it:
Adds portfolio support. Modal support was added since portfolio requires it. Modal is globally available through window.syna.showModal so users can use it easily for their custom dialogs.
Which issue this PR fixes:
fixes #5
Special notes for your reviewer:

Modal is now supported and it's code lies in static-main/js/modal.js and it uses our jq-helper and is imported in static-main/js/index.js and there's a function in the new object window.syna to allow for users to open dialogs easily.
There is a new JS chunk named portfolio which contains a small code to open the dialog containing a portfolio item's details. This chunk is loaded from the portfolio fragment.

Release note:
- Add new fragment **Portfolio**
- Add support for modals

move the overlay etc. to the bottom 1/3
remove button and make whole item clickable on link, for no link use modal
if no title or subtitle -> no overlay
add overlay image option aka ability to add an image/logo centered
try around with various subtitle lengths - I think there is a bug for short subtitles that they flow into the line of the title

Also first row of example data could be using the overlay aka having a title and subtitle.
The second row of example data could be using no title and subtitle so that the overlay isn't visible.
One of the second row items could then use markdown to emulate a title within the modal I assume.

Things left for this to merge as PoC:

use whole image not just title and subtitle to open modal
assume title and subtitle are set (no overlay can be done in another iteration)
mouse should indicate clickability for modal
opacity to 0.6? (happy to discuss)
use links to same page

By links to same page, do you mean url and # hrefs?

Just use "#" for links as we do for other urls.


could add many frequently-used animations effects?

i'm chinese,english is pool, thank you !!!!!
i like those animations: .spring  and .bounce
i have some Advices：

spring and bounce could give us Parameter，like this : .spring(.5f) .bouce(1.0f) ?? it will be more Flexible.

2.can you provide other frequently-used animations effects? like shake, fade,flash,
i know a framework named canvas,but it did not support iOS 7's autoLayout, it's useful，but has many bugs, i think your framework could replace it Completely.
canvas,you should know it: https://github.com/CanvasPod/Canvas
thank you very much!!!!!

This is meant to be a low level library. If you want those effects please checkout a library like DCAnimationKit.
Or you could build your own!
- (void) shake:(UIView *)view {
    CGFloat shakeDist = 20.0;
    view.moveX(shakeDist).thenAfter(0.2).
        moveX(-2*shakeDist).thenAfter(0.2).
        moveX(shakeDist*1.5).thenAfter(0.2).
        moveX(shakeDist*-0.5).animate(0.2);
}


Intermittent Issue: "WARNING - Cannot Update utime of File", Followed by Failure to Move File from Temp Folder to Final Path

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
The issue is that the file downloads successfully and appears to be complete and in the correct format, but it intermittently fails when attempting to update the file's utime.
As a result, the file is not moved to the final path and remains in the temp folder. Interestingly, for the same video, this sometimes works without any issues.
When it doesn't work, running the exact same code again immediately, it will move the file from the temp folder to its final location, without downloading.
Note: these are the file left in the /temp folder ->

/temp/My Video Download!.mp4
/temp/My Video Download!.png

Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8 (No ANSI), error utf-8 (No ANSI), screen utf-8 (No ANSI)
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [1a176d874] (pip) API
[debug] params: {'ignore_no_formats_error': True, 'noplaylist': True, 'outtmpl': 'My Video Download!.%(ext)s', 'ffmpeg_location': '/usr/bin/ffmpeg', 'writethumbnail': True, 'quiet': False, 'extract_flat': True, 'format': 'bestvideo+bestaudio/best', 'updatetime': False, 'extractor_args': {'youtubetab': {'skip': ['authcheck']}}, 'paths': {'home': '/data', 'temp': '/temp'}, 'no_overwrites': True, 'verbose': True, 'merge_output_format': 'mp4', 'cookiefile': '/cookies.txt', 'postprocessors': [{'key': 'SponsorBlock', 'categories': ['sponsor']}, {'key': 'ModifyChapters', 'remove_sponsor_segments': ['sponsor']}, {'key': 'FFmpegThumbnailsConvertor', 'format': 'png', 'when': 'before_dl'}, {'key': 'FFmpegMetadata'}, {'key': 'EmbedThumbnail'}], 'compat_opts': set(), 'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'en-us,en;q=0.5', 'Sec-Fetch-Mode': 'navigate'}}
[debug] Python 3.12.7 (CPython x86_64 64bit) - Linux-6.1.0-26-amd64-x86_64-with (OpenSSL 3.3.2 3 Sep 2024)
[debug] exe versions: ffmpeg 6.1.1 (setts), ffprobe 6.1.1
[debug] Optional libraries: Cryptodome-3.21.0, brotli-1.1.0, certifi-2024.08.30, mutagen-1.47.0, requests-2.32.3, sqlite3-3.45.3, urllib3-2.2.3, websockets-13.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Loaded 1838 extractors
[youtube] Extracting URL: https://www.youtube.com/watch?v=example
[youtube] example Downloading webpage
[debug] [youtube] Extracted SAPISID cookie
[debug] [youtube] Copying __Secure-3PAPISID cookie to SAPISID cookie
[youtube] example Downloading ios player API JSON
[youtube] example Downloading mweb player API JSON
[debug] Loading youtube-nsig.2f238d39 from cache
[debug] [youtube] Decrypted nsig
[debug] Loading youtube-nsig.2f238d39 from cache
[debug] [youtube] Decrypted nsig
[youtube] example Downloading m3u8 information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[info] example Downloading 1 format(s): 625+140
[info] Downloading video thumbnail 42 ...
[info] Writing video thumbnail 42 to: /temp/My Video Download!.webp
[ThumbnailsConvertor] Converting thumbnail "/temp/My Video Download!.webp" to png
[debug] ffmpeg command line: /usr/bin/ffmpeg -y -loglevel repeat+info -f image2 -pattern_type none -i 'file:/temp/My Video Download!.webp' -update 1 -movflags +faststart 'file:/temp/My Video Download!.png'
Deleting original file /temp/My Video Download!.webp (pass -k to keep)
[hlsnative] Downloading m3u8 manifest
[debug] Invoking hlsnative downloader on
[download] Destination: /temp/My Video Download!.f140.m4a

[Merger] Merging formats into "/temp/My Video Download!.mp4"
[debug] ffmpeg command line: /usr/bin/ffmpeg -y -loglevel repeat+info -i 'file:/temp/My Video Download!.f625.mp4' -i 'file:/temp/My Video Download!.f140.m4a' -c copy -map 0:v:0 -map 1:a:0 -movflags +faststart 'file:/temp/My Video Download!.temp.mp4'
Deleting original file /temp/My Video Download!.f140.m4a (pass -k to keep)
Deleting original file /temp/My Video Download!.f625.mp4 (pass -k to keep)
[SponsorBlock] Fetching SponsorBlock segments
[debug] SponsorBlock query: https://sponsor.ajay.app/api/skipSegments
[SponsorBlock] Found 2 segments in the SponsorBlock database
[debug] ffprobe command line: /usr/bin/ffprobe -hide_banner -show_format -show_streams -print_format json 'file:/temp/My Video Download!.mp4'
[ModifyChapters] Removing chapters from /temp/My Video Download!.mp4
[debug] Concat spec = 0.0-254.000000, 342.000000-934.000000, 953.849000-inf
[debug] Writing concat spec to /temp/My Video Download!.temp.mp4.concat
[debug] ffmpeg command line: /usr/bin/ffmpeg -y -loglevel repeat+info -hide_banner -nostdin -f concat -safe 0 -i 'file:/temp/My Video Download!.temp.mp4.concat' -map 0 -dn -ignore_unknown -c copy -c:s mov_text -movflags +faststart 'file:/temp/My Video Download!.temp.mp4'
Deleting original file /temp/My Video Download!.uncut.mp4 (pass -k to keep)
[Metadata] Adding metadata to "/temp/My Video Download!.mp4"
[debug] ffmpeg command line: /usr/bin/ffmpeg -y -loglevel repeat+info -i 'file:/temp/My Video Download!.mp4' -i 'file:/temp/My Video Download!.meta' -map 0 -dn -ignore_unknown -c copy -map_metadata 1 -write_id3v1 1 -metadata 'title=My Video Download!' -metadata date=20240922 -metadata 'description=example' -metadata 'purl=https://www.youtube.com/watch?v=example' -metadata 'comment=https://www.youtube.com/watch?example' -metadata artist=example -metadata:s:1 language=eng -movflags +faststart 'file:/temp/My Video Download!.temp.mp4'

WARNING: Cannot update utime of file
ERROR - Error downloading: My Video Download! - [Errno 2] No such file or directory: '/temp/My Video Download!.temp.mp4' -> '/temp/My Video Download!.mp4'

Similar to #7542

Python Code:
import yt_dlp

url = "https://www.youtube.com/watch?v=2Gg6Seob5Mg"

ydl_opts = {
    "ignore_no_formats_error": True,
    "noplaylist": True,
    "extract_flat": True,
    "extractor_args": {"youtubetab": {"skip": ["authcheck"]}},
    "writethumbnail": True,
    "format": "bestvideo+bestaudio/best",
    "outtmpl": "%(title)s.%(ext)s",
    "updatetime": False,
    "paths": {"home": "/data", "temp": "/temp"},
    "verbose": True,
    "no_overwrites": True,
    "merge_output_format": "mp4",
    "ffmpeg_location": "D:\\",
}

ydl_opts["postprocessors"] = [
    {"key": "SponsorBlock", "categories": ["sponsor"]},
    {"key": "ModifyChapters", "remove_sponsor_segments": ["sponsor"]},
    {"key": "FFmpegThumbnailsConvertor", "format": "png", "when": "before_dl"},
    {"key": "FFmpegMetadata"},
    {"key": "EmbedThumbnail"},
]

ydl = yt_dlp.YoutubeDL(ydl_opts)
ydl.download([url])
ydl.close()

are you running this in WSL?

are you running this in WSL?

No, its running in a Docker container

Historical issue was with Termux.
In this one, is it possible that the failure to set utime causes the temporary file (that the next step would have moved) to be removed?

Historical issue was with Termux.
In this one, is it possible that the failure to set utime causes the temporary file (that the next step would have moved) to be removed?

I'm not entirely sure, but it seems likely. What’s puzzling is that it works most of the time but occasionally fails.
I suspect the problem happens during the embed metadata stage with ffmpeg, where it fails to set utime. Then somehow this causes a "file doesn't exist" error, preventing the file from being moved: ->
https://github.com/yt-dlp/yt-dlp/blob/f4338714241b11d9d43768ae71a25f5e952f677d/yt_dlp/postprocessor/ffmpeg.py#L369-L371

try_utime is the only place that has the warning message:
https://github.com/yt-dlp/yt-dlp/blob/f4338714241b11d9d43768ae71a25f5e952f677d/yt_dlp/postprocessor/common.py#L152-L156

try_utime is not specifically related to --embed-metadata, it is called on all downloads by default unless --no-mtime is passed

try_utime is not specifically related to --embed-metadata, it is called on all downloads by default unless --no-mtime is passed

I was using updatetime: False to use the downloaded timestamp as the mtime, is that incorrect?
I also just tried adding no_mtime: True but I'm still seeing the same issue.

was using updatetime: False to use the downloaded timestamp as the mtime, is that incorrect?

That's correct, I had missed that. What's happening is all of the postprocessors call try_utime to try to preserve the original mtime (e.g. in case updatetime was True)
Could you try removing the postprocessors one-by-one to see when the problem no longer manifests?

Can you also show the output of echo $USER ; ls -ld /temp /data from inside the container

    "ffmpeg_location": "D:\\",

BTW, :point_up: this is why I asked if you were running this on WSL, and because this issue seemed vaguely reminiscient of #8088

    "ffmpeg_location": "D:\\",

BTW, ☝ this is why I asked if you were running this on WSL, and because this issue seemed vaguely reminiscient of #8088

Apologies I was doing some testing on a windows machine, but the issue was on linux

Also just changed the order to embed the metadata first and then embed thumbnail and this was the result, with the video successfully moved but without thumbnail, again this is intermittent.
WARNING: Cannot update utime of file
WARNING: Skipping embedding the thumbnail because the file is missing.
WARNING: File "/temp/My Video Download!.png" cannot be found

Dockerfile:
FROM python:3.12-alpine

# Install dependencies, including su-exec
RUN apk update && apk add --no-cache ffmpeg su-exec

# Create appuser and appgroup
RUN addgroup -g 1000 appgroup && adduser -D -u 1000 -G appgroup appuser

# Set environment variables
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
ENV PYTHONPATH=/app/tubetube

# Set the working directory
WORKDIR /app

# Install Python dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# Copy the application code
COPY . .

# Ensure proper ownership of /config, /data and /temp directories
RUN mkdir -p /config /data /temp && \
    chown -R appuser:appgroup /config /data /temp && \
    chmod -R 775 /temp

# Copy start script and make it executable
COPY start.sh /app/start.sh
RUN chmod +x /app/start.sh

# Expose the application port
EXPOSE 6543

# Use the start script as the entrypoint
ENTRYPOINT ["/app/start.sh"]

start.sh:
#!/bin/sh

# Default values for PUID and PGID
PUID=${PUID:-1000}
PGID=${PGID:-1000}

echo "Using PUID=${PUID} and PGID=${PGID}"

# Modify the appuser and appgroup to match PUID and PGID
if [ "$(id -u appuser)" != "$PUID" ] || [ "$(id -g appuser)" != "$PGID" ]; then
    echo "Updating UID and GID for appuser to match PUID:PGID..."
    deluser appuser
    addgroup -g "$PGID" appgroup
    adduser -D -u "$PUID" -G appgroup appuser
fi

# Ensure ownership of /config, /data and /temp are correct
chown -R appuser:appgroup /config /data /temp

# Start the application as appuser
exec su-exec appuser:appgroup gunicorn tubetube.tubetube:app -c gunicorn_setup.py

Can you also show the output of echo $USER ; ls -ld /temp /data from inside the container

/ # echo $USER ; ls -ld /temp /data

drwxr-xr-x    1 appuser  appgroup      4096 Oct 12 13:01 /data
drwxrwxr-x    1 appuser  appgroup      4096 Oct 12 13:02 /temp

I appreciate the assistance on this

Is there a way to trim the metadata (mainly description) before embedding to test this theory?

--parse-metadata ":(?P<meta_description>)"
--parse-metadata ":(?P<meta_synopsis>)"

Is there a way to trim the metadata (mainly description) before embedding to test this theory?

--parse-metadata ":(?P<meta_description>)" --parse-metadata ":(?P<meta_synopsis>)"

How does that look in Python code?

Is this a similar issue? #11020

How does that look in Python code?

Use devscripts/cli_to_api.py for this kind of thing
This:
--parse-metadata ":(?P<meta_description>)" --parse-metadata ":(?P<meta_synopsis>)"

would be equivalent to this:
from yt_dlp.postprocessor.metadataparser import MetadataParserPP

ydl_opts = {
    'key': 'MetadataParser',
    'when': 'pre_process',
    'postprocessors': [{
        'actions': [
            (MetadataParserPP.interpretter, '', '(?P<meta_description>)'),
            (MetadataParserPP.interpretter,'', '(?P<meta_synopsis>)'),
        ],
    }],
}

Is this a similar issue? https://github.com/yt-dlp/yt-dlp/issues/11020

They both involve embedding metadata, but I don't think the cause is the same

I'm not seeing this issue as much, so maybe something has been changed in the recent update. Either way, I've also added a custom post processor to trim the metadata. So hopefully the issue is resolved.
Thanks @bashonly


State of Development

Hey all, I know you might be a bit frustrated there haven't been a new release of Every Door since October.
First, I want to thank you for adding bug reports and feature requests. It's important that we don't forget these and that I can later sort them between releases. And most of all, it shows you are using the app, which makes me happy :)
Regarding the plans, I'm currently a bit burned out at my current job, and I have few other projects, hence I have got literally zero time to work on Every Door. I dreamed of having a kind of a grant or a temporary job to work on improving the editor, but with the current economy and my lack of experience at raising money, this is unlikely.
I expect to have some time around April-May, since Summer is the best time to go out and map, and I plan to map the heck out of my new surrounding area.
For the roadmap, I plan to release 3.1 with smaller fixes that have been piling up, and then 4.0 with the freehand drawing mode (#197), that was planned from the beginning.

I dreamed of having a kind of a grant or a temporary job to work on improving the editor, but with the current economy and my lack of experience at raising money, this is unlikely

Have you tried https://nlnet.nl/ ? I had some successes with them (though apparently they have growing number of applicants).


ARROW-5402: [Plasma] add support to pin objects in plasma store

This adds support to pin an object in plasma store, which is useful in some scenarios (e.g. we want to ensure the actor creation task arguments won't be evicted from plasma so that actor can be re-constructed when it crashes).
This is done by specifying a flag when creating an object, if the flag is set, then the object won't be managed by LRU cache in plasma, and thus won't be evicted even when its reference count drops to zero, it can only be removed by an explicit Delete() call.
@pcmoritz @robertnishihara @guoyuhong  could you please help take a look? thanks.

There is no a separate API to pin the object , so the pinned property could only be set at the creation time, right?

Yes, this allows us to ensure the object cannot be evicted right after its creation, if it's implemented as a separate API there's still a window that the object can be evicted. We can add another separate API later if we have such scenarios that specifying the flag at creation doesn't meet the requirement.

Looks good to me now. How do you think of this PR, @pcmoritz @robertnishihara ?

@pcmoritz @robertnishihara what are the next steps on this?

@pcmoritz @robertnishihara ping?  @zhijunfu it looks like this needs a rebase?

Closing as no response from my previous ping.


bulkio: deprecation notice for GCS authorization

To authorize to Google Cloud Storage, you have a few options:

Machine credentials
The cloudstorage.gs.default.key cluster setting
Explicit credentials supplied in the GCS URI

Today, we default to using the cluster setting. But this is bad. We should not be storing secrets in a cluster setting, and we should not have default dissonance -- specifically all of our other cloud storage options default to AUTH=specified.
We want to deprecate a few things:

The cluster setting
And swap the default to be AUTH=specified

Instructions for customers over the course of 21.1 is to:

If they're using the cluster setting, move to using machine credentials or specified credential in URI
If they are relying on default behavior (i.e. not including AUTH= and assuming default, that they shuld adjust queries / scripts to now specify the AUTH they want

cc @adityamaru for anything obvious I missed here

Thanks for this LGTM!


Support esbuild 0.17+

Esbuild has made a breaking API change which in turn breaks this library. In particular the esbuild.build method has been replaced by esbuild.context + a set of watch, rebuild, and serve etc, functions on the context object.
Trying to use esbuild 17 with this library causes the following error:
Invalid option in build() call: "incremental"

Thanks! looking to upgrade to 0.17.x use some of the newer plugin stuff on a project, this would help us test it.


Hotfix/git workflows

Fixed in another PR

some issues with application startup fixed in this PR - https://github.com/nisarg210/Simplii/pull/20


Pending project count is wrong

Currently, it is showing total projects. It should show pending projects

Fixed in 1.3.1


Sputnik cars for mini suspended coaster uses vanilla vehicle sprites for diagonals inclines.

The sputnik cars from WW literally just use the vanilla batflyer sprites on the diagonal inclines, i could not even make this up even if i tried.
 It will look slightly off, but a whole lot less than switching images halfway through.

I was thinking of doing that, it'll look kind of crappy but it'd be better than... this. So that's probably our best bet in regards to the original graphics.

Removing the sprite group alltogether won't work, as it'll just fall back to the flat sprites.
However i can just change the images table to reference the 25 degree sprites, that should do the trick.


Add min_by and max_by aggregate functions

Is your feature request related to a problem or challenge?
It is a common need to get the value of one column such that another column is a minimum. For example, if I have a column of fruit_name and price_per_pound I might want to get the fruit_name for which price_per_pound is a minimum. This can be done with existing functions, but it should be both more performant and more user friendly to add these functions.
Describe the solution you'd like
Ideally this would take two expressions. The first would be the expression you want to return and the second would be the expression that we are looking for the min/max of. In my example we would do something like
min_by(col("fruit_name"), col("price_per_pound"))
Describe alternatives you've considered
Right now I would probably do a first_value with an order_by. This will introduce an unnecessary sort of the dataframe.
Additional context
Example from
https://docs.databricks.com/en/sql/language-manual/functions/min_by.html

We have similar special functions for this type of function in InfluxDB (needed to get the max by time, for example)
We call them selector functions. Here are the docs https://docs.influxdata.com/influxdb/cloud-serverless/reference/sql/functions/selector/
Here is the code
https://github.com/influxdata/influxdb3_core/blob/main/query_functions/src/selectors/internal.rs

There are already aggregation variants of first/last which seem to solve the issue (example), and, at first glance, they should not perform normal sorting, only compare incoming ordering column values with "accumulated" ones.
It also seems that their performance could be improved by implementing GroupsAccumulator for them (or for majority of input types at least), as their state is somehow similar to AVGs state in terms of comlexity.

FIRST_VALUE / LAST_VALUE with ORDER BY is a great call. Here is the code if anyone is interested:
https://github.com/apache/datafusion/blob/main/datafusion/functions-aggregate/src/nth_value.rs

More like https://github.com/apache/datafusion/blob/main/datafusion/functions-aggregate/src/first_last.rs (I suppose)

My bad, it still sorts input data (during e.g. get_first_idx, which is likely a redundant sort, except for the cases when input is already sorted on ordering columns). That is another thing to improve.

As I'm thinking about it, I'm not sure you can get around doing the sort since you have an arbitrary number of ordering clauses. I think what you've proposed is the best option. One could speed up the operation when there's only a single order clause but that may not be worth the effort involved.
I'm okay closing this issue unless anyone thinks there's value in pursuing it further.

As I'm thinking about it, I'm not sure you can get around doing the sort since you have an arbitrary number of ordering clauses. I think what you've proposed is the best option. One could speed up the operation when there's only a single order clause but that may not be worth the effort involved.

FWIW this is what the first_selector / last_selector functions do in InfluxDB -- they basically maintain only the value for the largest ORDER BY column, rather than actually sorting the entire intermediate result

I'm okay closing this issue unless anyone thinks there's value in pursuing it further.

It would be nice to make it clearer how to get the equivalent of  min_by and max_by  -- maybe we could just document the equivalent first_value(... ORDER BY ...)  queries 🤔  or we could automatically rewrite min_by / max_by into first_value() / last_value 🤔
It is probably also worth filing a ticket for the potential optimization

I guess user guide will be the best option since naming for this function may vary in different DBs -- min_by / argmin / argmin_agg, and maybe couple of others, so aliasing is not that straightforward.

I think we can close this ticket

Thanks everyone


Support ephemeral sessions

Fixes #26
Removes pubspec.lock files that shouldn't be checked in for libraries according to Dart docs
Update dependencies

Codecov Report

Merging #96 (27d3ef9) into master (4eb2565) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #96   +/-   ##
=======================================
  Coverage   87.71%   87.71%
=======================================
  Files          11       11
  Lines         456      456
=======================================
  Hits          400      400
  Misses         56       56

Impacted Files
Coverage Δ

lib/src/io_web_auth.dart
33.33% <ø> (ø)

Continue to review full report at Codecov.

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

Hi @ThexXTURBOXx, thank you for your PR!

I can see the underlying call to FlutterWebAuth.authenticate() now takes an optional preferEphemeral, but how, as a client, do I pass that in through either the OAuth2Client class or the OAUth2Client.getTokenWithAuthCodeFlow() method I am using?


Build is failing with vierd inspection errors

see https://builds.particular.net/viewType.html?buildTypeId=NServiceBus_Transports_NServiceBusMsmq_NServiceBusMsmqWireCompatTests&branch_NServiceBus_Transports_NServiceBusMsmqWireCompatTests=<default>&tab=buildTypeStatusDiv
Is started for no reason sometime between dec 13 and jan 18.
I suspect updated inspection runner? @gbiellem idea?

@andreasohlund  could be a problem with the resharper command line tool.   Between green red builds it was switched to a newer version -> https://builds.particular.net/admin/editRunType.html?id=buildType:NServiceBus_Transports_NServiceBusMsmq_NServiceBusMsmqWireCompatTests&runnerId=RUNNER_204
The change happened in the build template so at the build config level it looked like nothing had changed.  We can test this by reverting this build to older version of the CLT

Downgrading to teamcity.tool.jetbrains.resharper-clt.2016.2.20160913.100041 fixed the issue

Is there some inspection settings in the repo that we need to update perhaps?

Resharper 2016.3 added new inspections and the new CLT reflects that.  The failed builds seem to list only two inspections repeatedly, so my guess is they are new ones and the default is to treat them as errors.

Got, I'll upgrade to 2016.3 and see if it fails locally
On Thu, Jan 19, 2017 at 9:16 PM, Greg Bielleman<EMAIL_ADDRESS>wrote:

Resharper 2016.3 added new inspections and the new CLT reflects that. The
failed builds seem to list only two inspections repeatedly, so my guess is
they are new ones and the default is to treat them as errors.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Particular/NServiceBus.Msmq.WireCompatTests/issues/4#issuecomment-273886294,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHoZMfnZFmTOngnc8nPcAtWFIDEkf95ks5rT8SUgaJpZM4LnyW9
.

Everything is green locally with 2016.3.1 :(

So after wasting a lot of testing and trying to solve this I went looking on the JetBrains issue tracker.
It's a known bug -> https://youtrack.jetbrains.com/issue/RSRP-462401
Next time I'll check the bug list first 😥

I've forced the build to use the previous runner so we're all good for now

Tried the new inspectcode.exe  released 26th January 2017 - Still not fixed

no longer inspecting


[experimentalStyled] Add displayName and className options

This PR aims to resolve https://github.com/mui-org/material-ui/pull/23745#discussion_r537590851 by providing displayName and className as options in the experimentalStyled utility.
Here is the output of both the generated HTML and the React tree.
HTML
Previously:

Now:

React tree
Previously:

Now:

This looks like an improvement for the DX of customizations :). I wonder if we can't abstract the API, like:

name: string Slider
slot: string Rail

to avoid naming mistakes & enforce more consistency. For instance, if slot is Root, apply muiName automatically.

Sounds good, let me try this API and see how it would look like.


frostwire-bin: 6.8.9 -> 6.9.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/frostwire/versions.
meta.description for frostwire-bin is: "BitTorrent Client and Cloud File Downloader"
meta.homepage for frostwire-bin is: "https://www.frostwire.com/"
meta.changelog for frostwire-bin is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 6.9.1 with grep in /nix/store/nibcv1a0ynmwipcab6ssqm4l63i9qwgp-frostwire-6.9.1

directory tree listing: https://gist.github.com/2b00a29fee8bb3b2f17d2b12113e22af

du listing: https://gist.github.com/7b1c3b68ddd98b3bc2ef6896e2cb63da

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
0 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
0 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
frostwire-bin

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/nibcv1a0ynmwipcab6ssqm4l63i9qwgp-frostwire-6.9.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A frostwire-bin https://github.com/r-ryantm/nixpkgs/archive/94dacabdcafed765e0a8e8492792a85ef85b5705.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/nibcv1a0ynmwipcab6ssqm4l63i9qwgp-frostwire-6.9.1
ls -la /nix/store/nibcv1a0ynmwipcab6ssqm4l63i9qwgp-frostwire-6.9.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

frostwire-bin

Maintainer pings
cc @gavinrogers for testing.

a new version has been released


Oncall Layer Wise Feature Added

What type of PR is this?
feature
What this PR does / Why we need it?
This PR add the layer wise oncall feature i.e a user can use arrow keys to navigate between the current, previous and next oncall layers
Which Jira/Github issue(s) does this PR fix?
Resolves #OSD-9094
Special notes for your reviewer
The old test cases were removed as they were outdated. New test cases will be added. A card has been created for the same OSD-15678
Pre-checks (if applicable)

[x] Ran unit tests locally against the changes
[x] Included documentation changes with PR

Codecov Report

Merging #127 (f622bf9) into main (c4a0e91) will increase coverage by 0.03%.
The diff coverage is 24.35%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #127      +/-   ##
==========================================
+ Coverage   14.40%   14.44%   +0.03%
==========================================
  Files          22       22
  Lines        1305     1357      +52
==========================================
+ Hits          188      196       +8
- Misses       1096     1138      +42
- Partials       21       23       +2

Impacted Files
Coverage Δ

cmd/kite/oncall/cmd.go
0.00% <0.00%> (ø)

pkg/ui/input.go
0.00% <0.00%> (ø)

pkg/ui/tui.go
0.00% <0.00%> (ø)

pkg/pdcli/oncall/handlers.go
25.43% <38.00%> (-2.57%)
:arrow_down:


a2dp sink delay via AVDTP

Hello,
I am building an ffmpeg-based audio sink system to use a Raspberry Pi as a bluetooth speaker.
Since the audio takes quite a long time to get past the processing on the Pi, I need to tell the bluetooth "client" device how much delay should be added (eg. for video playback) for it to be in sync.
This can be done via AVDTP and I see in your code you kinda mention it in ba-transport.h : 133
I've looked back and forth at the code and found a2dp struct, which has a delay attribute, but couln't figure out how/when to read it (was always empty in my prints) and how/when to actually set it for the client to be aware.
Maybe I'm being naive asking, but is this being implemented?

Please let me know if I'm just delirious or that makes any sense at all. This thing is really important to me.

No, it's not supported yet.


[WIP] use direct memory instead of heap for kafka entry formatter decode

Motivation
In KafkaEntryFormatter#decode, it will allocate a new ByteBuffer to store all entries' payload. However, the current implementation is use heap memory, which will lead to frequent GC.
Changes

use direct memory instead of heap memory to store the entries' payload

Mark it as WIP first because it may cause direct memory OOM quickly.


KAFKA-16139: Fix StreamsUpgradeTest

Adds version 3.5 to the possible values for config upgrade_from.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@mjsax Could you have a look since you reviewed also the PR that added upgrade tests to version 3.5?

Is this fix sufficient? Don't we not also need to add 3.6 as "upgrade_from" version?

I just checked the test failures on https://github.com/apache/kafka/pull/15151 (cf last comment) and it failed because 3.6 is missing.
Can you also do a follow up PR for 3.6 branch which only add 3.5 to upgrade_from? (or use this PR and do a follow up for trunk/3.7 to add 3.6 instead?)

Merged to trunk and cherry-picked to 3.7 and 3.6 branches.

Follow-up PR to add 3.6: https://github.com/apache/kafka/pull/15207


Implement better ActiveSupport notification span logging.

Correct JSON for context field (ActiveSupport payload)
message defines by ActiveSupport event name
Removed unnecessary JCW::Tracing with subscribers.
Do not produce ActiveSupport::Notifications::Event.new(...) on each event (less memory)
Correct filter for big objects in *.action_controller events.
Correct README.md (with notification about memory leak)
Bump nokogiri
Version bump

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

17 of 17 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
95

Relevant Lines:
95

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

17 of 17 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
95

Relevant Lines:
95

💛  - Coveralls


1.3.0 causes Ember builds to fail

Error: Cannot find module '{module_name}' from '{project_path}' with extension in [".js"]
    at Function.module.exports [as sync] ({project_path}/resolve/lib/sync.js:38:15)

Related issue on Ember-CLI: https://github.com/ember-cli/ember-cli/issues/6807

Thanks for the report - taking a look now.

I've set "latest" to v1.2.0 while I try to figure out what broke.

Same issue appeared for angular-cli.
[1] Cannot find module '@types/cucumber' from '{project_path}' with extension in [".js"]
[1] Error: Cannot find module '@types/cucumber' from '{project_path}' with extension in [".js"]
[1]     at Function.module.exports [as sync] ({project_path}\node_modules\resolve\lib\sync.js:38:15)
[1]     at AddonDiscovery.resolvePackage ({project_path}\node_modules\angular-cli\lib\models\addon-discovery.js:136:35)
[1]     at AddonDiscovery.<anonymous> ({project_path}\node_modules\angular-cli\lib\models\addon-discovery.js:111:28)
[1]     at Array.map (native)
[1]     at AddonDiscovery.discoverFromDependencies ({project_path}\node_modules\angular-cli\lib\models\addon-discovery.js:109:68)
[1]     at AddonDiscovery.discoverProjectAddons ({project_path}\node_modules\angular-cli\lib\models\addon-discovery.js:48:29)
[1]     at Project.discoverAddons ({project_path}\node_modules\angular-cli\lib\models\project.js:353:40)
[1]     at Project.initializeAddons ({project_path}\node_modules\angular-cli\lib\models\project.js:372:8)
[1]     at Project.eachAddonCommand ({project_path}\node_modules\angular-cli\lib\models\project.js:425:10)
[1]     at module.exports ({project_path}\node_modules\angular-cli\lib\cli\lookup-command.js:33:13)
[1]     at CLI.<anonymous> ({project_path}\node_modules\angular-cli\lib\cli\cli.js:34:26)
[1]     at tryCatch ({project_path}\node_modules\rsvp\dist\rsvp.js:538:12)
[1]     at invokeCallback ({project_path}\node_modules\rsvp\dist\rsvp.js:553:13)
[1]     at publish ({project_path}\node_modules\rsvp\dist\rsvp.js:521:7)
[1]     at flush ({project_path}\node_modules\rsvp\dist\rsvp.js:2373:5)
[1]     at _combinedTickCallback (internal/process/next_tick.js:67:7)
[1]     at process._tickCallback (internal/process/next_tick.js:98:9)
[1]

`

Reproduced locally; I've bisected it down to 1260d9d1e2f55efb514540db9aa1b3d679f9db10.

OK, so in ember-cli this is because they were literally checking the error message here.
I assume the same problem is in angular-cli.

Fixed in 68a081d1c7ff6e0fb58aeff4b6ac06aada7812c4; will be released shortly as v1.3.1.


Support captcha static files

Resolves #6

Codecov Report

Merging #57 (9a65a9a) into main (24c5bf2) will increase coverage by 0.31%.
The diff coverage is 89.47%.

@@            Coverage Diff             @@
##             main      #57      +/-   ##
==========================================
+ Coverage   88.33%   88.64%   +0.31%
==========================================
  Files          31       34       +3
  Lines        1449     1471      +22
==========================================
+ Hits         1280     1304      +24
+ Misses        169      167       -2

Impacted Files
Coverage Δ

gqlauth/models.py
80.64% <72.72%> (+0.19%)
:arrow_up:

gqlauth/factory/captcha_factorty.py
96.66% <88.88%> (+10.00%)
:arrow_up:

gqlauth/migrations/0004_captcha_url.py
100.00% <100.00%> (ø)

...qlauth/migrations/0005_rename_url_captcha_image.py
100.00% <100.00%> (ø)

gqlauth/migrations/0006_alter_captcha_image.py
100.00% <100.00%> (ø)

gqlauth/settings_type.py
100.00% <100.00%> (ø)

gqlauth/types_.py
91.66% <100.00%> (+0.75%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Java sample readme uses incorrect markdown formatting

It seems the headings in the markdown file for the Java example are incorrect.

@jreijn Thanks. Take note that the samples are provided as-is (and not regularly updated), as this is is a purely client-side library, and the examples only serve to illustrate possible (naive) server-side implementations.

Thanks for the quick fix. I'm currently evaluating solutions for large file uploads in our application, hence the reason that I was looking at the Java backend.

@jreijn I hope resumable.js can help you out. Implementing your own server-side part is fairly straightforward, but will vary depending on whatever underlying caching / file system is facilitating the uploads.


README中文文档翻译

@microsoft-github-policy-service agree

感谢帮忙翻译， this means a lot to us, hope to see more of your contributions, thanks!


withDefault should also be considered in decoding

The default is very useful when used inside input types. For example:
const QueryInput = types.object({
  search: types.string().optional(),
  skip: types.number().optional().withDefault(0),
  take: types.number().optional().withDefault(20),
})

const function = buildFunction({
  input: QueryInput,
  output: ...,
  async apply({ input }) {
    // input.skip & input.take should be always defined
    //...
})

it would be cool if we implement 2 slightly different variants of Infer:
// type used by the function implementation
type QueryInput = types.InferInput<typeof QueryInput> // { search?: string, skip: number, take: number }

// type used by the caller
type QueryInput = types.Infer<typeof QueryInput> // { search?: string, skip?: number, take?: number }

Maybe this would be clearer if we reintroduce the DefaultDecorator that we'll be called DefaultType and used as follows:
const QueryInput = types.object({
  search: types.string().optional(),
  skip: types.number().default(0),
  take: types.number().default(20),
})

To me the latter communicates the intent more clearly instead of optional().withDefault(...)

I'm not too sure about making the withDefault one of the elements of the type system. It only makes sense for optional fields of an object and nowhere else in the type system.
Also we could achieve the same expected behavior you describe in your last code example with what we currently have by simply adding another function to the current available types:
type NumberType = {
  default(n: Infer<NumberType>): OptionalType<NumberType> = types.optional(this).withDefault(n)
}

And the code would look and behave exactly the same without the added complexity of a new type in the Mondrian's type system:
const QueryInput = types.object({
  search: types.string().optional(),
  skip: types.number().default(0),   // <- inferred as `number | undefined`
  take: types.number().default(20),  // <- inferred as `number | undefined`
})

As for the default value in the decoding process, shouldn't we let the user decide when/if they want to use it? They always have access to it if they need it, also always using the fallback default when decoding could be limiting (for example if my business logic needs to perform different actions if the value is present or not)
If someone wants the default they could still do something relatively easy and they have the possibility to choose:
const model = types.object({ field: types.number().withDefault(10) })
const decoded = decoder.decode(model, rawValue)
decoded.map((value) => {
  if (value.field) {
    businessLogic(value.field)
  } else {
    console.log("There was a missing field, taking corrective action and using the fallback value")
    takeCorrectiveAction() // some separate logic that needs to fire if the value is missing
    businessLogic(model.types.field.defaultValue) // use the default value
  }
})

I'm not too sure about making the withDefault one of the elements of the type system. It only makes sense for optional fields of an object and nowhere else in the type system.

I agree to keep it simple as possible. Anyways the default makes sense with every type. For example i would like to do:
const t1 = types.object({ field: types.number() }).default({ field: 1 })
const t2 = types.union({ variant1: types.number(), variant2: types.string() }).default({ variant1: 1 })

As for the default value in the decoding process, shouldn't we let the user decide when/if they want to use it? They always have access to it if they need it, also always using the fallback default when decoding could be limiting (for example if my business logic needs to perform different actions if the value is present or not)

Until now, I've only used the default for input types (decoding phase), so if it doesn't make sense to exist for input types in my opinion we can remove support for default altogether. It's a feature with the sole purpose of facilitating the definition of types and functions by removing part of the boiler plate code that often happens to be written.
Also semantically Optional<T> != Default<T>. Optional<T> is simply T | undefined while Default<T> brings with it more information (besides the default value). Default<T> indicates that the input value (user side) is optional, while the decoded input value (implementator side) has always a value, therefore the difference between these two:
// type used by the function implementation
type QueryInput = types.InferInput<typeof QueryInput> // { search?: string, skip: number, take: number }

// type used by the caller
type QueryInput = types.Infer<typeof QueryInput> // { search?: string, skip?: number, take?: number }

It's a matter of understanding whether it's worth implementing this functionality. If we decide not to, I would also remove the .withDefault

Ah now I see, why would we need two slightly different implementations though? If a value is defined as having a default this way why would we ever infer it as optional like you showed?

Maybe I swapped the names, Infer should give the type with no optionals while InferInput with the optionals. Here's an example of why we need two different Infer:
const QueryInput = types.object({
  search: types.string().optional(),
  skip: types.number().default(0),
  take: types.number().default(20),
})
const QueryOutput = types.string().array()

function query = functions.context<...>().build({
  input: QueryInput,
  output: QueryOutput,
  apply({ input: { search, skip, take }, context }) {
    return context.db.find(search, skip, take) //here skip & take are always number
})
const module = module.functions({ definitions: { query }).context(...).build()
const client = sdk.build({ module })

//calling the function
const  results: string[] = await client.query({ search: '123' }) //here skip & take could be undefined

If we want to avoid type-system pollution I could implement a private utility InferInput inside the packages/module/sdk.ts. However, this doesn't save us from implementing the default decorator inside the type system if we want this feature.

For simplicity, I would propose removing the .withDefault and labeling this issue as low-priority. If in the future we see that it's highly requested as a feature, we'll consider implementing it.

Yes I agree, it can surely be helpful but I'm afraid it would make type inference way more complicated than it currently is so I'd not prioritise this

Will not implement this because on the graphql and openapi generation we must implement two different behaviours. If the default is on input type the converted type should be optional. If the default is on output type the converted type should be not modified.
This add too much complexity for now.