Need clearly-explained docs for managing transaction logs

I am running a SQL Server 2016 , and the transaction log is "full" .
So I google it , and found https://docs.microsoft.com/en-us/sql/relational-databases/logs/troubleshoot-a-full-transaction-log-sql-server-error-9002?view=sql-server-ver15.
But after reading it , I am still not clear that what seteps  should I take .
And I kept on googling and found  https://www.red-gate.com/simple-talk/sql/learn-sql-server/managing-transaction-logs-in-sql-server/
After reading it , I know that the following steps should be taken if the recovery mode of the DB is "full":

Backup the DB data
Backup the DB transaction log
The DB engine will truncate the transaction log file automatically
Shrink the log file

By reading http://rusanu.com/2012/07/27/how-to-shrink-the-sql-server-log/ ,
I know that the filesize of LDF file may not be reduced even though after shrinking it , when it is in the situation that  the last VLF of LDF is active.
In MYSQL , it is easy to limit the transaction log (binlog) filesizes(by setting two parameters in my.cnf).
But in SQL Server , it is too hard to accomplish it , because the transaction log mechanism is too complicated ,
the seteps are more complicated and  lacking of clearly-explained docs.
I think that the official docs should be more clearly-explained.
BTW:
In my humble opinion , I think the microsoft docs is not clear enough ,
Many times , when I need to know how to "operate"  a MS porduct or having  problems of it ,
Usually , I get the "useful" info in the other website instead of microsoft docs.

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

ID: 2f3c1175-cf53-423b-b7b4-d68b58b5bf22
Version Independent ID: 04c9e403-be61-9b41-b9af-dd88d0a31d40
Content: Troubleshoot full transaction log error 9002 - SQL Server
Content Source: docs/relational-databases/logs/troubleshoot-a-full-transaction-log-sql-server-error-9002.md
Product: sql
Technology: supportability
GitHub Login: @MashaMSFT
Microsoft Alias: mathoma

@sosogh -- thank you for your thorough feedback. Please consider these resources:

SQL Server on Microsoft Q&A
DBA Stack Exchange
Stack Overflow

@MashaMSFT -- please look into this issue.


abcJIT: a short-lived fork of LuaJIT for Snabb Switch

Here is an idea for some good clean fun :-)
LuaJIT is transitioning from being maintained by Mike Pall to being
maintained by the community. This is fun and exciting. It is also a
process that will take a while to find a good workflow. A month? A
year? I don't know: but I see an opportunity for us to have fun and
learn new things during the process.
This PR introduces abcJIT: a short-lived Snabb-specific fork of
LuaJIT. I propose that we maintain abcJIT as part of the Snabb Switch
repository, using the normal Snabb Switch Git/Github workflow, while
we wait for the new LuaJIT upstream to establish itself.
I also propose that we develop abcJIT with a mix of conservatism and
radicalism. Conservatism in the sense of avoiding changes that could
lead to instabilities in Snabb Switch e.g. complex new
optimizations. Radicalism in the sense of stripping the code base down
to the bare essentials that we are actually using at the moment.
For example I would like to strip out all #ifdef statements from the
code. We only need to support x84-64 (not 32-bit, not ARM, not PPC,
etc) and Linux (not Windows, not Xbox, not Android, etc). I would like
to pick the most suitable NUMMODE and delete the rest. I would like to
keep the features that we want to have enabled and delete the
rest. Potentially we could even remove optimizations that are not
important to Snabb Switch e.g. anything specific to the Lua C API.
Why? I expect that we will learn a lot about LuaJIT and maybe come up
with some nifty ideas during this process. Then we can take that
experience and apply it to the new "upstream" LuaJIT when that is ready.
The key is to understand that this is a short-lived fork. That means
that we can be absolutely ruthless about removing code because really
we are going to get it all back in the future anyway.
What do we think?
Here is the README that I wrote:
abcJIT: a JIT for Snabb Switch (descended from LuaJIT)

abcJIT is a descendent of LuaJIT that is targeted at Snabb Switch. The
development philosophy of "what would Mike do?" is replaced with "what
would be best for Snabb Switch?".

abcJIT is a response of sorts to Mike Pall's call for the community to
take charge of the future development of LuaJIT:
http://www.freelists.org/post/luajit/Looking-for-new-LuaJIT-maintainers

abcJIT moves in a new direction:
- Ruthlessly eliminate code that Snabb Switch does not use.
- Helpfully write and review comments to explain the code.
- Experimentally add features that make Snabb Switch easier to develop.

abcJIT benefits Snabb Switch hackers:
- Learn about JIT internals by making simple changes.
- Optimize more effectively thanks to better community expertise.
- Defend the self-sufficiency that is one of the core Snabb values.

abcJIT benefits LuaJIT hackers:
- Grow the pool of people with maintenance experience.
- Explore design ideas in the post-"what would Mike do?"-era.
- Cooperate with maintainers of other trees to share code and ideas.

abcJIT exists only while it is beneficial to Snabb Switch. In all
likelihood it will be merged into another more mainstream LuaJIT tree
in the future. However, we would keep the valuable experience of
having taken charge of the code we depend on, even if only for a while.

The Snabb Switch community forked abcJIT from LuaJIT v2.1 in September 2015.

P.S. The name "abcJIT" is from the Jackson 5 song "A-B-C as easy as
1-2-3". The whole idea is to make the software simpler by deleting as
much code and as many concepts as possible.
P.P.S. The mechanism I used to import LuaJIT into our source tree is
git subtree
with --squash to compress the history.

I think gaining experience with LuaJIT internals is vital at this point. I'm happy with stripping out as much as we can as an experiment and to learn, but I do hope that whichever fork of LuaJIT predominates in a few years is still multi-platform, etc.

@kbara Agree. Really the problem we want to solve is to increase our mastery of and contribution to LuaJIT and other dependencies. Stripping out features is only one idea to that end and potentially a really dumb one, particularly since anybody could want to port snabbswitch to ARM or make a Windows port of SnabbNFV for HyperV instead of KVM.
#609 is a more low-key alternative formulation of this idea. (I close this PR now in favor of that one.)


Text Collor based on Material Guideline

The color of the texts must comply with the Material Design guidelines. This is necessary for contrast and good reading
https://material.io/guidelines/style/color.html#color-color-palette

@menosprezzi
https://github.com/voxpelli/sass-color-helpers#contrast
https://gist.github.com/voxpelli/6304812


Add out folder to .gitignore

Codecov Report

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

@@          Coverage Diff           @@
##             master    #2   +/-   ##
======================================
  Coverage        50%   50%
  Complexity        1     1
======================================
  Files             1     1
  Lines             2     2
======================================
  Hits              1     1
  Misses            1     1

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 aecdb9a...2d9d05c. Read the comment docs.


Github Deploy action

Github Deploy action
Added meta name

#12  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @dmick92 and the rest of your teammates on  Graphite


Please let us choose to work with CPU when CUDA is detected.

Hi.
Currently plugins autodetect CUDA and they do not allow us to choose to work with CPU. The problem is that plugins make excessive use of vRAM, and most of them fail with out of memory problems even with small images (400x400px) on 4GB vRAM card. Some of them like super-resolution plugin return an error message when out of memory. But other plugins like "deep-denoising" don't return an error message but they don't work unless you are working with very small images.
Thank you.

check now

check now

Thank you very much. CPU works in most plugins. But apparently deep-denoising plugin is still trying to use GPU no matter I choose to force CPU (I get CUDA error)

check now

Thanks, it works.


Added demoURL to package.json

My bad, I think I didn't set up the workflow quite correctly. The changes that you made are perfect, so let's merge this PR as is.


Document support (or lack of) for On-pemise Trusted Apps with SIP IDs in Hybrid Mode

Documentation is lacking for support or lack of support for communication between Teams-only users and Skype Trusted Apps on-premise in the hybrid mode.
(We find that while SfB Online users are able to interact/chat with an on-premise Trusted Application using the trusted apps SIP address, Teams users are unable to search for the on-premise Trusted App SIP ID either by name, or by SIP ID (both internal and external search fails).

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

ID: 40129d20-5ce3-8f23-90a3-490e4d3498bb
Version Independent ID: 6104ec9f-c48a-f6a2-6d78-af6f58fe493e
Content: Move users from on premises to Skype for Business Online - Skype for Business Hybrid
Content Source: Skype/SfbHybrid/hybrid/move-users-from-on-premises-to-skype-for-business-online.md
Product: skype-for-business-itpro
GitHub Login: @CarolynRowe
Microsoft Alias: crowe

@GauravES  Thank you for submitting feedback and contributing to the docs. We are currently investigating this.


Removing .coveragerc and adding config to setup.cfg

to: @jacknagz @ryandeivert
cc: @airbnb/streamalert-maintainers
size: small
Background
Previous change added show_missing = True to .coveragerc to display the missing lines for unit tests. It turns out it can be all covered in the setup.cfg file, so we don't need to use an extra file for the coverage plugin.
Changes

Adding coverage plugin configuration to setup.cfg.

Testing
Running ./tests/scripts/unit_tests.sh to show the missing lines when the file .coveragerc is deleted.

Coverage remained the same at 95.075% when pulling 625ba9efbd0958b89c2496f0a2506eb5685c09ad on javier-streamalert-setupcfg-coveragerc into 59b4bc54df4a49a042a147d4aeb2bf218c986b0c on master.


Add possibility to configure rabbitmq specific to stream binder

I have project with already configured amqp but for cloud bus want to use separate virtual host with its own username/password
I think its nice to have possibility to configure brokers using separate config path to be able isolate modules.
If you think idea is nice I can prepare PR.

Yes there is a solution and
There is spring.rabbitmq.* properties, so for the above example you could do something like
spring.rabbitmq.host=
spring.rabbitmq.username=
spring.rabbitmq.password=

but I want to have 2 configuration one for cloud-bus/stream another one for application messaging subsystem and configuration like this:
spring:
  cloud:
    bus:
      rabbitmq:
        host: localhost
        username: cloud
        password: bus
        virtual-host: /bus

does not exists it was a suggestion to add.

As @spencergibb already stated cloud-bus is a consumer of spring-cloud-stream which provides binders. You can have multiple binders and connect to multiple systems in your application. The following sections describe exactly what is expected form the user to accomplish this

https://cloud.spring.io/spring-cloud-static/spring-cloud-stream/3.0.4.RELEASE/reference/html/spring-cloud-stream.html#multiple-binders
https://cloud.spring.io/spring-cloud-static/spring-cloud-stream/3.0.4.RELEASE/reference/html/spring-cloud-stream.html#multiple-systems

yes it was clear for I just replied to your message. Thanks once more


Probe side spilling support

Add spilling support at hash probe side to handle the memory arbitration request
after the build operators have built the hash table and is being processed by the
probe side. We leverage the existing spilling facility built in hash join bridge to support
this and the following extensions made to probe side (build side support and join bridge
extension are already landed):
(1) make hash probe operators to wait for the other peers when finish processing the
current probe inputs (either from source or previously spilled input) no matter the join has
more spilled data to process or not. This is to handle the edge case that the spilling is
triggered at some slow probe operators and we need all the probe operators to be present
to handle the split hash table and the rest of steps. This is due to the limitation of the current
allPeersFinished implementation which expects all the drivers to be present in the pipeline to
function;
(1) add reclaim() method to interface with memory arbitration which checks if a probe operator
is spillable: if the table has been set and has data; if we have set input spiller to spill the input
as we don't support recursive input spill (which will never be the case as if build has triggered
spill, it will spill all the partitions for now so the probe side will always have an empty table if it
needs spill the input);
(2) add output spiller to spill the output produced by the current pending input. We parallelize the
output spill with one thread per each probe operator;
(3) if any one of the probe operators has no input to process (it hasn't received the no more input
signal), then we have to spill the built hash table, and we parallelize this by one thread per each
sub-hash table;
(4) free the memory held by the spilled hash table;
(5) setup input spiller for the rest of probe inputs;
Unit tests added to cover different spilling scenarios, and will run join fuzzer with spilling, OOM
injection and query abort injections.

@xiaoxmeng CI is all red.

(3) if any one of the probe operators has no input to process (it hasn't received the no more input
signal), then we have to spill the built hash table, and we parallelize this by one thread per each
sub-hash table;

did you mean?: if any one of the probe operators has more input to process


gambit, gerbil: Monthly update

Motivation for this change
Lots of upstream progress for Gerbil
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Fun fact: GitHub UI thinks that editing the PR caption is not a good enough reason to consider me a participant of this thread. Merging the PR is, though.


K8SSAND-1880 ⁃ Do not mount encryption-cred-storage

What is missing?
The encryption-cred-storage is an old way to create internode encryption CAs. We don't usually need that and there's better ways to do it with cert-manager, yet we always add these mounts and create the CAs.
We should improve the situation and only create the mount if needed (if that certain hardcoded path is used or existing cluster has it) to the StatefulSet.
Why do we need it?
This also helps in the migration process.
Environment

Cass Operator version:
Insert image tag or Git SHA here

Anything else we need to know?:
┆Issue is synchronized with this Jira Task by Unito
┆Issue Number: K8SSAND-1880
┆Priority: Medium
┆Link To Issue: https://k8ssandra.atlassian.net/browse/K8SSAND-1880

there's better ways to do it with cert-manager

Am I correct in thinking that cass-operator will not do this and it will instead be up to the user?


Run flutter App On Browserstack Remotely

I have been able to run my flutter app locally but trying to look for a way to run it remotly on browserstack, most articles are for running apps that are not flutter
var capabilities = {
'bstack:options' : {
"osVersion" : "10.0",
"deviceName" : "Samsung Galaxy S20",
"projectName" : "AppName",
"buildName" : "V1",
"sessionName" : "b",
"local" : "false",
"userName" : "USERNAME",
"accessKey" : "ACCESS_KEY",
},
"browserName" : "chrome",
}
Got this Capabilities from browserstack and this was the error i was getting
2023-01-27T07:26:08.409Z INFO devtools:puppeteer: Initiate new session using the DevTools protocol
2023-01-27T07:26:08.412Z INFO devtools: Launch Google Chrome (undefined) with flags: --enable-automation --disable-popup-blocking --disable-extensions --disable-background-networking --disable-background-timer-throttling --disable-backgrounding-occluded-windows --disable-sync --metrics-recording-only --disable-default-apps --mute-audio --no-first-run --no-default-browser-check --disable-hang-monitor --disable-prompt-on-repost --disable-client-side-phishing-detection --password-store=basic --use-mock-keychain --disable-component-extensions-with-background-pages --disable-breakpad --disable-dev-shm-usage --disable-ipc-flooding-protection --disable-renderer-backgrounding --force-fieldtrials=BackgroundTracing/default/ --enable-features=NetworkService,NetworkServiceInProcess --disable-features=site-per-process,TranslateUI,BlinkGenPropertyTrees --window-position=0,0 --window-size=1200,900
2023-01-27T07:26:08.953Z INFO devtools: Connect Puppeteer with browser on port 65076
Hello
2023-01-27T07:26:09.110Z INFO devtools: COMMAND executeScript("flutter:checkHealth", )
node:internal/process/promises:289
triggerUncaughtException(err, true / fromPromise */);
^
Evaluation failed: ReferenceError: checkHealth is not defined
at eval (eval at  (:3:20), :1:9)
at pptr://puppeteer_evaluation_script:3:20
Error: Evaluation failed: ReferenceError: checkHealth is not defined
at eval (eval at  (:3:20), :1:9)
at pptr://puppeteer_evaluation_script:3:20
at ExecutionContext._ExecutionContext_evaluate (file:///C:/Users/iamso/Desktop/bbbf/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.js:225:15)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async ElementHandle.$eval (file:///C:/Users/iamso/Desktop/bbbf/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.js:138:24)
at async DevToolsDriver.executeScript (file:///C:/Users/iamso/Desktop/bbbf/node_modules/devtools/build/commands/executeScript.js:34:20)
at async Browser.wrappedCommand (file:///C:/Users/iamso/Desktop/bbbf/node_modules/devtools/build/devtoolsdriver.js:127:26)
at async Browser.wrapCommandFn (file:///C:/Users/iamso/Desktop/bbbf/node_modules/@wdio/utils/build/shim.js:72:29)
at async Browser.wrapCommandFn (file:///C:/Users/iamso/Desktop/bbbf/node_modules/@wdio/utils/build/shim.js:72:29)
at async main (C:\Users\iamso\Desktop\bbbf\test.js:47:24)
Node.js v19.4.0

Please ask their customer support. This driver's availability depends on cloud vendors.


[Feature request] Allow passing tags as a ruby hash

From the README, the suggested way to tag a metric is to pass an array of strings.
# Tag a metric.
statsd.histogram('query.time', 10, :tags => ["version:1"])

How hard would it be to add the ability to pass a hash to :tags in addition to using an Array?
# Tag a metric.
statsd.histogram('query.time', 10, :tags => {version: 1})

Is this something you'd be willing to add, or if you don't want to add it, would you be willing to consider adding it if I created a PR?

@jtzemp A tag doesn't always have to be a key value pair, it can just be a value. So I can see why they stick with arrays.

@swssqewe12, very true that tags don't need to be a pair. In the implementation I wrote for the PR I handle that in 2 ways:

You can pass either an array, or a hash to tags:. So nothing needs to change in existing code. If you like arrays, keep using them. If you want a hash, use it. Wanna switch back and forth? Use whatever method best suits the situation.
If you want to use a hash and send a tag without a value, just set the value in the hash to nil.

Closing as this has been released in 4.3.0


Load initial configuration async?

Is it currently possible to load the Site ID and Tracker URL in an async manner?
I have an Angular 10 project that stores every config in a database, and would need to query the backend before I can start setting up Matomo.
I looked at the docs and was hopeful maybe via provider useFactory I could return a Promise, but doesn't look doable.

Hi,
You're right, Angular does not have such a feature currently (see Angular issue: https://github.com/angular/angular/issues/23279)
Have you tried using APP_INITIALIZER? That may be a viable workaround.

You may end up with something like this:
@Injectable({ providedIn: 'root' })
export class MatomoConfigService {

  myBackendConfig: any;

  async preload(): Promise<void> {
    this.myBackendConfig = await ......; // http call
  }

  buildConfig(): MatomoConfiguration {
    return {
      siteId: this.myBackendConfig.siteId,
      // ...
    };
  }
}

export function initializeMatomoFactory(service: MatomoConfigService) {
  return () => service.preload();
}

export function matomoConfigFactory(service: MatomoConfigService) {
  return () => service.buildConfig();
}

@NgModule({
  // ...
  providers: [
    {
      provide: APP_INITIALIZER,
      useFactory: initializeMatomoFactory,
      deps: [MatomoConfigService],
      multi: true
    },
    {
      provide: MATOMO_CONFIGURATION,
      useFactory: matomoConfigFactory,
      deps: [MatomoConfigService]
  ]
})
export class AppModule {}

Thanks for your fast response. I tried your suggestion, but I don't think that approach is doable. After reading about APP_INITIALIZER and fiddling around with it a bit, I learned that it only delays the app start (if a promise needs to be resolved), but other providers don't wait for anything.
I've made a minimal repo in case I was doing something wrong: https://github.com/csgulyas/matomotest.
The MATOMO_CONFIGURATION expects the config to be available immediately. If I leave the myBackendConfig uninitialized, or otherwise in an invalid state, the tracker logic throws and complains about null values.

Oh yes you're right, factory providers don't wait for APP_INITIALIZER to be resolved...
Again, this is a general issue with Angular, not this lib... There's not much we can do for that...
But, an alternative is see, would be load load your backend config yourself before you start Angular.
First declare a config type + injection token:
export class MyBackendConfig {
  // ...
}

const MY_BACKEND_CONFIG = new InjectionToken<MyBackendConfig>('My Backend Configuration');

Then in main.ts file, wrap the bootstrap process in a fetch call to get your config, then add a provider for the config as an argument to platformBrowserDynamic() call:
// main.ts
fetch('/my-backend-config.json')
  .then(response => response.json())
  .then((config: MyBackendConfig) => {
    // Here include the classic bootstrap process

    if (environment.production) {
      enableProdMode();
    }

    // Just add a provider for the config as an argument to platformBrowserDynamic() call:
    platformBrowserDynamic([
      { provide: MY_BACKEND_CONFIG, useValue: config },
    ])
      .bootstrapModule(AppModule)
      .catch(err => console.error(err));
  });

Finally, you can declare your matomo config factory using MY_BACKEND_CONFIG as a dependency:
// app.module.ts
export function matomoConfigFactory(myBackendConfig: MyBackendConfig) {
  return {
      siteId: myBackendConfig.siteId,
      trackerUrl: myBackendConfig.trackerUrl,
      // ...
    };
}

@NgModule({
  // ...
  providers: [
    {
      provide: MATOMO_CONFIGURATION,
      useFactory: matomoConfigFactory,
      deps: [MY_BACKEND_CONFIG]
    }
  ]
})
export class AppModule {}

Drawback is you can't use here anything defined in your app (such as other providers, etc...)

Appreciate your help. Very interesting approach.

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

v2.5.0
GitHub release

Your semantic-release bot :package::rocket:

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

v3.1.0
GitHub release

Your semantic-release bot :package::rocket:


After ADS update, the previously pinned tabs are no longer pinned

Issue Type: Bug
Pin a few tabs (with T-SQL code in them) in an ADS instance you have, then upgrade ADS to the next version. The pinned tabs are no longer pinned after the update.
Azure Data Studio version: azuredatastudio 1.32.0 (4a45ba7cf20dd4129f1a08e5e776dfb33e3d1d1e, 2021-08-16T18:08:28.086Z)
OS version: Windows_NT x64 10.0.19042

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-10885H CPU @ 2.40GHz (16 x 2400)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.73GB (13.99GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (2)

Extension
Author (truncated)
Version

azdata-sanddance
msr
3.3.0

poor-sql-formatter
WSR
0.1.0

Closing as inactive issue.


Add quic client fuzzer (extended)

This takes the QUIC client fuzzer written by @kroeckx in #19743 and adds additional commits and updates to enable the fuzzer to complete a full handshake and read data from a stream.
We also fix two bugs that the fuzzer identified. One was in the save/restore of error state which could lead to the error data getting into an inconsistent state (which led to undefined behaviour). The second is a use-after-free in qrx_process_pkt.
Some initial corpora files are in openssl/fuzz-corpora#16. This includes a "happy path" corpora file that achieves a full handshake and a read of data.

Hmm. Why do some of our non-fuzzing CI builds define FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION? That define is specifically to allow the fuzzer to get past things it wouldn't otherwise get past. Using it is causing some test failures (which is not surprising).

The CIFuzz CI failure is because https://github.com/openssl/fuzz-corpora/pull/16 isn't merged yet.

Hmm. Why do some of our non-fuzzing CI builds define FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION? That define is specifically to allow the fuzzer to get past things it wouldn't otherwise get past. Using it is causing some test failures (which is not surprising).

Yeah, probably some confusion of the meaning of that define. Just remove it.

I'm getting a memory leak:
==2863082==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 128 byte(s) in 1 object(s) allocated from:
    #0 0x55a7a76279ae in malloc (quic-client+0x44b9ae) (BuildId: 859c7f7f5d5d66f56eea26ce6ab2db34ff59298c)
    #1 0x55a7a796a6f1 in CRYPTO_malloc crypto/mem.c:201:11
    #2 0x55a7a796a6f1 in CRYPTO_zalloc crypto/mem.c:221:11
    #3 0x55a7a785e1f0 in BIO_new_ex crypto/bio/bio_lib.c:83:16
    #4 0x55a7a780899d in ossl_quic_tls_tick ssl/quic/quic_tls.c:767:19
    #5 0x55a7a77e17c9 in ossl_quic_channel_start ssl/quic/quic_channel.c:2754:5
    #6 0x55a7a770f91a in ensure_channel_started ssl/quic/quic_impl.c:1526:14
    #7 0x55a7a770f91a in quic_do_handshake ssl/quic/quic_impl.c:1651:10
    #8 0x55a7a770f1b2 in ossl_quic_do_handshake ssl/quic/quic_impl.c:1734:11
    #9 0x55a7a76bf8ba in SSL_do_handshake ssl/ssl_lib.c:4707:16
    #10 0x55a7a76674c4 in FuzzerTestOneInput fuzz/quic-client.c:99:13
    #11 0x55a7a76802dc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (quic-client+0x4a42dc) (BuildId: 859c7f7f5d5d66f56eea26ce6ab2db34ff59298c)

I'm getting a memory leak:

Hmmm. I'm not seeing that and I'm currently struggling to figure out how it could occur. Is this associated with any particular corpora file?

leak-170f141864601c724d1e0d35a6e6edbecd534877.gz

Only remaining CI failure is the CIFuzz one which will be resolved once https://github.com/openssl/fuzz-corpora/pull/16 has gone in.
Still investigating the leak @kroeckx reported.

New commit pushed addressing the mem leak reported by @kroeckx. Also a fixup addressing @t8m's feedback.
Please take another look.

Can you update the corpora in this PR too?

The CIFuzz failure is because there is no corpus.

Hmm. Why do some of our non-fuzzing CI builds define FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION? That define is specifically to allow the fuzzer to get past things it wouldn't otherwise get past. Using it is causing some test failures (which is not surprising).

The corpus is made with that define. Without that define, the corpus has a smaller coverage. I think we need have at least 1 build were it's enabled and we run the 99-test_fuzz_* tests.
An other build were this will have an effect is the coverall build.

Can you clarify why you've removed the time_t time(time_t *t) TIME_IMPL(t)? Is it causing problems?
This comes from the client fuzzer. As far as I know, this was added to make things more reproducible, that the coverage we have today is still the same tomorrow. There might be alternative fixes. I think that things like session ticket and the certificate might expire.

I currently have 1 crash that I can't reproduce. I suspect this is some timing issue, where that with a small delay the client triggers sending something to the server, and that that code doesn't trigger in a normal run.

Can you clarify why you've removed the time_t time(time_t *t) TIME_IMPL(t)? Is it causing problems?
This comes from the client fuzzer. As far as I know, this was added to make things more reproducible, that the coverage we have today is still the same tomorrow. There might be alternative fixes. I think that things like session ticket and the certificate might expire.

Just speculating, but time_t, when building for 32-bit systems, cannot represent some current root certificate expiry dates (specifically, digicert is 2042, and quovadis is 2046), which causes validation issues, so there is little point staying with time_t. This is probably unrelated, though.

I've used the following patch:
--- a/fuzz/quic-client.c
+++ b/fuzz/quic-client.c
@@ -91,8 +91,11 @@ int FuzzerTestOneInput(const uint8_t *buf, size_t len)
         if (size > len - 2)
             break;

-        if (size > 0)
+        if (buf[0] == 255)
+            OSSL_sleep(buf[1]);
+       else if (size > 0)
             BIO_write(in, buf+2, size);
+
         len -= size + 2;
         buf += size + 2;

With that, I can reproduce a crash at least some of the time. Running ./quic-client-test quic-timeout-crash with quic-timeout-crash.gz crashes about 1 in 3 times for me, giving:
quic-client-test: ssl/quic/quic_ackm.c:1304: int ossl_ackm_on_timeout(OSSL_ACKM *): Assertion `lost_pkts != NULL' failed.

Under gdb:
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1  0x00007ffff7e4915f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2  0x00007ffff7dfb472 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007ffff7de54b2 in __GI_abort () at ./stdlib/abort.c:79
#4  0x00007ffff7de53d5 in __assert_fail_base (fmt=0x7ffff7f59dc8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x5555555d4d43 "lost_pkts != NULL",
    file=file@entry=0x5555555dcc0e "ssl/quic/quic_ackm.c", line=line@entry=1304, function=function@entry=0x5555555eade0 "int ossl_ackm_on_timeout(OSSL_ACKM *)") at ./assert/assert.c:92
#5  0x00007ffff7df43a2 in __assert_fail (assertion=0x5555555d4d43 "lost_pkts != NULL", file=0x5555555dcc0e "ssl/quic/quic_ackm.c", line=1304,
    function=0x5555555eade0 "int ossl_ackm_on_timeout(OSSL_ACKM *)") at ./assert/assert.c:101
#6  0x0000555555815675 in ossl_ackm_on_timeout (ackm=0x555556001ba0) at ssl/quic/quic_ackm.c:1304
#7  ch_tick (res=0x7fffffffd570, arg=0x55555600a8d0, flags=0) at ssl/quic/quic_channel.c:1953
#8  0x00005555557fe5f7 in ossl_quic_reactor_tick (rtor=0x55555600a910, flags=0) at ssl/quic/quic_reactor.c:109
#9  quic_read (s=<optimized out>, buf=<optimized out>, len=1024, bytes_read=<optimized out>, peek=0) at ssl/quic/quic_impl.c:2693
#10 0x00005555557c7383 in ssl_read_internal (s=0x55555601fec0, buf=0x7fffffffd780, num=1024, readbytes=0x7fffffffd748) at ssl/ssl_lib.c:2286
#11 SSL_read (s=0x55555601fec0, buf=0x7fffffffd780, num=1024) at ssl/ssl_lib.c:2342
#12 0x000055555579e949 in FuzzerTestOneInput (buf=<optimized out>, len=<optimized out>) at fuzz/quic-client.c:110
#13 0x000055555579f610 in testfile (pathname=<optimized out>) at fuzz/test-corpus.c:55
#14 main (argc=<optimized out>, argv=0x7fffffffddd8) at fuzz/test-corpus.c:96

With that, I can reproduce a crash at least some of the time.

This doesn't seem to work for me. I think we should probably be using our QUIC's capability to use "fake" time rather than real time which should hopefully give us more repeatable results.

Hmm. Why do some of our non-fuzzing CI builds define FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION? That define is specifically to allow the fuzzer to get past things it wouldn't otherwise get past. Using it is causing some test failures (which is not surprising).

The corpus is made with that define. Without that define, the corpus has a smaller coverage. I think we need have at least 1 build were it's enabled and we run the 99-test_fuzz_* tests.
An other build were this will have an effect is the coverall build.

I do not think it makes sense to use it for the coveralls build - it will just show our coverage result a little bit worse for some files but not having it defined will allow running some other tests which increase the coverage elsewhere.
For running the 99-test_fuzz_* tests we should have an extra build which runs just these tests and has FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION defined. Probably with asan and ubsan enabled.

I think we should probably be using our QUIC's capability to use "fake" time rather than real time which should hopefully give us more repeatable results.

I updated this to use fake time so we can avoid timing related issues with this.
I also added a new CI job to run the fuzz tests only with asan/ubsan and FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION defined.

Note: these latest updates change the layout of the corpora files. New "happy path" corpora file attached.
happypath.gz

Can you clarify why you've removed the time_t time(time_t *t) TIME_IMPL(t)? Is it causing problems?

It was tidied away in a cleanup. Perhaps over-zealously. But now I implemented fake time for this it should not be needed.

It currently hangs with several files: hang.gz

So this is giving more stable results, and it seems to be faster finding coverage.

This file: crash.gz
Results in:
quic-client-test: ssl/quic/quic_ackm.c:618: struct tx_pkt_history_st *get_tx_history(OSSL_ACKM *, int): Assertion `!ackm->discarded[pkt_space]' failed.

It currently hangs with several files: hang.gz

Proposed fix for that issue in #22410

Still approved

It's not enough that that PR is merged, the submodule in this repo should also get updated

If the fuzz-corpora PR commit message is amended with the usual Review annotations, it can be merged as is (assuming there are no other merges in the mean time there) without rebasing and the commit ID will be kept allowing this PR to have the submodule commit id included.

Updated - only change is that the fuzz-corpora submodule has been updated to the latest version.
@t8m, @t-j-h - please reconfirm

Actually CI seems relevant?

Still approved

Actually CI seems relevant?

Grrr!!

Actually CI seems relevant?

Ok - fixed (hopefully).
Only change is a minor addition to the fuzzing test recipe.
@t8m, @t-j-h - please reconfirm again.

This pull request is ready to merge

Rebase only. No other changes.

Rebase only. No other changes.
So ready to go in still?

So ready to go in still?

Yes. CI was failing, but I suspected it was because it wasn't picking up some of the fixes from master (I'm not sure why I thought PRs were automatically rebased on master). But the rebase has confirmed it, and the CI is now green - so I will merge soon.

Pushed!!


ImageConfiguration::default() is a trap

https://github.com/containers/oci-spec-rs/blob/2440343d3433762c359c7a096648ca685f8ddd97/src/image/config.rs#L189
We can't just assume the world is Linux/x86_64 by default.  (And definitely not x86_64 :wink:  )
I have this code in ostree-rs-ext:
https://github.com/ostreedev/ostree-rs-ext/blob/bb4423d5af109cf6268e91c77cc4c9ca850e579a/lib/src/container/ocidir.rs#L26
WDYT about having this code in this crate?  Alternatively, I think we should drop the default() method.
Or in theory, these helper methods could go in some other containers/ related crate?  I hesitate at the overhead for that.  Maybe we introduce a oci_spec::util module?

I think I'm really arguing for one of:

changing ImageConfiguration::default() to default to the current process' OS and architecture
Dropping default() and adding a new ImageConfiguration::default_this_platform_arch() or so
Dropping default() and pointing users to helper methods that give suitable values to pass to ImageConfigurationBuilder::arch().platform()

I think I like the number 2 the best.

Definitely.  But having a ::default() that only does the right thing on one platform and architecture is a trap - it means it's easy to write code that will e.g. pass CI on Github actions (linux/x86_64) but fail only when running on e.g. aarch64.

I think I like the number 2 the best.

I kinda like the first one. Why would you prefer options 2 over 1?

I'm good with option 1 too.


Write With Transformer adding spaces?

This issue didn't happen before, but now whenever you use the autocomplete it always adds a space to the beginning, even when a space is not needed. I.E: when adding a comma / period to the end of a sentence, when starting a new line, or (most egregiously) when finishing a word that was only partially written.
As an aside, I wouldn't mind waiting a few extra seconds to get auto-fill suggestions that are longer than two words.

Commenting to say I have also noticed this. Also I would assume the small amount of tokens being generated per autocomplete lately is because of compute concerns, not time concerns. It is a bit limiting.

Also having this problem!


Fix helix test

Currently helix is failing on the test TargedDifferenceSharedFramework_FailedToFindNativeDependenciesErrorInResponse.
The build that contained my changes on helix was https://mc.dot.net/#/user/aspnetcore/pr~2Faspnet~2Faspnetcore/ci/20190530.15. This seemed to pass with my changes just fine, and it passed locally. However, this test was incredibly flaky (I called shutdown on the server and then sent an HttpRequest to the server after shutdown).
The thing that confuses me the most is that the test is failing hard on other builds: https://dev.azure.com/dnceng/public/_build/results?buildId=206419&view=ms.vss-test-web.build-test-results-tab. Like after 3 runs the test is failing consistently.
I'm going to investigate if the build that contained my changes actually contained my changes.

NVRM the helix build I linked wasn't associated with my build at all, it was another PR I made around the same time. Helix just didn't trigger at all 😢


RC npm: incorrect claim about colors

The issue with the color package wasn't that the installation wasn't reproducible; it was: anyone can check the immutable contents of any npm package on https://unpkg.com, and it's only install scripts that can make a package installation not deterministically reproducible. The issue with colors was that there was malicious code in the package; whether that code was in the single-maintainer-owned repo or not was irrelevant (except that it may have slightly delayed discovery).
Something that's entirely distinct is whether you can get between the source code (which may not even exist publicly) and the published package (which is immutable), but that's a kind of reproducibility that's more about "can someone else replicate the process that led to the package tarball" - and it has nothing to do with installation.

By "Reproducable Installation" we mean the consumption of packages. By this we are saying that without one of the two methods described further down in the section (vendoring or pinning/lock file), it is possible to get different results each time you npm-install your own package (by getting a new version). The colors example is to show that without vendoring or pinning, you would automatically get the new compromised version.
This is the first line:

A reproducible installation is one that guarantees the exact same copy the dependencies are used each time the package is installed.

Any suggestions on how to clarify what we mean here?
The install scripts situation is another worry, lets figure out where/how to add that to the doc as well. (#15)

That's a potential issue with every package - you can get a new bug every time you npm install also. Malice (ie, colors or similar incidents) is irrelevant and not required to demonstrate the need for applications to have lockfiles.


logged in save user data

Hello, in feathersjs when you logged in,  you get the accessToken and user data (at least default configuration) . The accessToken is saved at localStorage, so,  there are any posibility of add a authClient.options for  save the user data in localStorage too?

Right now We are following the react-admin interface. At least we are putting on localstorage permissions and token.
But if you want to access to all other props in user you can always do a GET to that service.

@lalote Can you explain why this functionality should be included in ra-data-feathers, and not implemented elsewhere (e.g. in your application)?
If you need the user data to be saved immediately on login without retrieving it separately as @josx has suggested, I think the correct approach would be to listen for the login event from the feathers client directly:
feathersClient.on('login', user => handleUserData(user));

I just don't see that the requested functionality should be the responsibility of ra-data-feathers. This library is just a connector between feathersClient and React Admin.
If you can explain why I'm wrong here, I'd be happy to write a pull request for you (as long as @josx is happy with it). Otherwise I'd suggest this issue should be closed as out of scope.

Lets see what @lalote has to besay before closing it.


Introduce minimal drillpage to use in trainings

Before sending your pull-request 💌 make sure :

[x] The tests are up-to-date and your code is tested

This can be merged as-is, althought styling could use some improvement, but I am waiting on the Animation PR to land before making changes to the animation component so it can be rendered at a smaller size.

Rebased on master


Fix font issue debugging script

The new GitHub Issue Templates show that a lot of folks have trouble with fonts and problems with the debug/font-issues.zsh script. The script is a port of the font detection from dylanaraps/neofetch. In the our previous version I missed some functions (get_ppid and get_process_name) that now cause trouble.
Last but not least, I updated the font detections functions.
It would be super helpful if somebody could test this under WSL and Linux.

All seems to be ok with Macos.
But with my Linux (debian) I have an error with ps.
error: improper list

Usage:
 ps [options]
...

So I take a look in your code and it seems the $os is not set and if I add os=$(uname) at the begining of the scripts the OS detection work. But I have other problem trim is not found, but is the use of this command necessary ? The ideal would be to avoid having to install soft and more to run your script.

If I add that function at the begining of the script
trim()
{
    local var="${*}"
    # remove leading whitespace characters
    var="${var#"${var%%[![:space:]]*}"}"
    # remove trailing whitespace characters
    var="${var%"${var##*[![:space:]]}"}"
    echo -n "${var}"
}

I have
===== Font debugging =====
You are using gnome-terminal with Font

WARNING It does not seem like you use an Powerline-enabled or Awesome Terminal Font!
Please make sure that your font settings are correct!
``̀`
I use a powerline font so I tool another look in your script and in the function `get_term_font` it have no case for gnome-terminal

Hah! Good point @JulienPivard !
As this is a port from neofetch, I'll have to lookup how they resolve their $OS. I overlooked this bug, because with a running P9K, there is a $OS present as well (but with other values probably).
I'll have a look into that tomorrow.

I did not know there was a $OS variable. But in the script there is $os and not $OS I think the problem is there. I take a look and $os return nothing but $OS return OSX for my mac and Linux for my debian. So i think it's juste a problem with the case :)

You are right. Here is the code that fills $os. Our variable is names $OS.
So, either we want to change $os to $OS and make the debugging script compatible with our values, or we want to add the get_os function as well. But that are thoughts for tomorrow. ;)

@JulienPivard I (hopefully) fixed the font debugging script. Could you give it another try?

get_process_name:10: aucun fichier ou dossier de ce type: /proc/ 1960/comm
grep: /proc/ 1960/status: No such file or directory
===== Font debugging =====
You are using  with Font

WARNING It does not seem like you use an Powerline-enabled or Awesome Terminal Font!
Please make sure that your font settings are correct!

I think trim don't remove all the space.

It's work... for trim
===== Font debugging =====
You are using gnome-terminal with Font

WARNING It does not seem like you use an Powerline-enabled or Awesome Terminal Font!
Please make sure that your font settings are correct!

if I have the time I would try with other terminals.

Great idea, @dritter! This should help quite a bit. I would love to get this in for v0.6.6 to help with debugging going forward. Would you like to do further testing or is this ready to go?
@julienfalque - Thanks so much for spending the time to help us test this! That is extremely valuable for the project =)

This is now fixed in master, and the v0.6.6 release will include the fix. Thanks so much!


tagOptions gets overriden by default options

I don't see how this is possible.  I've created an example with the extend code here: https://jsfiddle.net/Lovhorky/
If you look at the console you will see that the tagOptions are taking precedence over the defaults.

It was maybe in an old release.


Wait for a control to have a parent before loading its template

Issue: #190
PR Type
What kind of change does this PR introduce?

Bugfix

What is the current behavior?
Templates of controls are loaded as soon as the Template property is set
What is the new behavior?
We check if the control has a parent before loading its template.
Note: for now we only check if the control has a parent, but we should also check if the control is in the visual tree. See the #190 for full behavior description.
PR Checklist

[x] Tested code with current supported SDKs
[x] Docs have been added/updated which fit documentation template. (for bug fixes / features)
[x] Tests for the changes have been added (for bug fixes / features) (if applicable)
[x] Contains NO breaking changes

This isn't the right fix, even as a temporary one. It breaks ApplyTemplate() and it breaks CanCreateTemplateWithoutParent.
The good fix to restore lazy template loading is to set the flag for that, FeatureConfiguration.Control.UseLegacyLazyApplyTemplate.


set limitation to select

in this library how can i set limited selected items? for example user can't select more than 10 items?

Such feature is not supported yet, but we can work around that by undoing any changes that lead to selecting above the limit. Please take this example:
class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  static const selectionLimit = 10;

  final controller = DragSelectGridViewController();
  Selection currentSelection;

  @override
  void initState() {
    super.initState();
    controller.addListener(handleSelectionChange);
  }

  @override
  void dispose() {
    controller.removeListener(handleSelectionChange);
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: SelectionAppBar(
        selection: controller.selection,
        title: const Text('Grid Example'),
      ),
      body: DragSelectGridView(
        gridController: controller,
        padding: const EdgeInsets.all(8),
        itemCount: 90,
        itemBuilder: (context, index, selected) {
          return SelectableItem(
            index: index,
            color: Colors.blue,
            selected: selected,
          );
        },
        gridDelegate: const SliverGridDelegateWithMaxCrossAxisExtent(
          maxCrossAxisExtent: 150,
          crossAxisSpacing: 8,
          mainAxisSpacing: 8,
        ),
      ),
    );
  }

  void handleSelectionChange() {
    if (controller.selection.amount > selectionLimit) {
      setState(() => controller.selection = currentSelection);
    } else {
      setState(() {
        currentSelection = Selection(
          Set.of(controller.selection.selectedIndexes),
        );
      });
    }
  }
}

You can set a maximum parameter to your Grid Widget like that :
GridWidget(  maximum: 15, ).
By creating the selected item Widget ( which you can find in the example ) , you can
then add a bool named  parameter , which checks if your selection list  reached the maximum like that :```
SelectableItem(
isMaximum: _selectedList.length == widget.maximum,
whenSelcted: () { },
whenUnselected: ()  { },
)
Then in the `SelectableItem` Widget you can check this condition in the `didUpdateWidget` method like that :    ```
@override
  void didUpdateWidget(SelectableItem oldWidget) {
    super.didUpdateWidget(oldWidget);
    if (oldWidget.selected != widget.selected) {
      if (widget.selected) {
        if (widget.isMaximum == false) {
          _controller.forward();
          widget.whenSelcted();
        } else {
          Fluttertoast.showToast(msg: 'You\'ve reached the maximum');
        }
      } else {
        _controller.reverse();
        widget.whenUnselected();
      }
    }
  }

@Loopex2019  could you reformat your code?

No gridview is just an example.  I mean it is the widget you created , which its build method return the DragSelectGridView widget

@Loopex2019 I appreciate your suggestion, but it is not correct. Not calling _controller.forward(); only avoids the selection animation, it doesn't make the item in fact unselected.
The only way to unselect an item is through DragSelectGridViewController.selection, as I suggested above :)
@MahdiPishguy Have you tried that?

@hugocbpassos thanks for explaining to me . This actually worked for me. Because in the whenSelected() Method it adds the selected item into a list . So by checking the maximum it doesn't only prevent the controller from animating but also prevents the whenSelected() Method from being fired . But of course you are right since the selection itself doesn't change .

So by checking the maximum it doesn't only prevent the controller from animating but also prevents the whenSelected() Method from being fired .

The thing is, the item is already selected when State.didUpdateWidget() is called, so not firing whenSelected() won't actually help :)
By the way, those callbacks (whenSelected() and whenUnselected()) made me worry. DragSelectGridViewController should be able to handle selection by itself. There's no need to duplicate such logic.
Furthermore, for semantic purposes, the only information SelectableItem should receive is selected.

@hugocbpassos  don't worry it's just a callback when the item gets selected to add my custom logic for adding the selected items inside a List variable.

@Loopex2019 You should be doing that with DragSelectGridViewController.addListener().

@hugocbpassos
i test this source code which that is here https://github.com/hugocbpassos/drag_select_grid_view/issues/9#issuecomment-616216177
its work fine :)


Danhunsaker improved forking

This is a duplicate PR for the one applied upstream to improve the fork handling. See the original PR chrisboulton/php-resque#83

Sorry, wrong base branch!


Server crash on file change

Describe the bug
The build server crash on

With starter

Can you provide more details about OS, shell, etc.? I can't reproduce it without more information

should be fixed with https://github.com/jackyzha0/quartz/commit/b69556c918e2a4a27b047e8de6b02861f04d5a9e


[e2e]: go workflow_dispatch main config-noldflags slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/2893283866
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.workflow_dispatch.main.config-noldflags.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.workflow_dispatch.main.config-noldflags.slsa3.yml
Trigger: workflow_dispatch
Branch: main
Date: Sat Aug 20 03:13:17 UTC 2022

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/2896987204
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.workflow_dispatch.main.config-noldflags.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.workflow_dispatch.main.config-noldflags.slsa3.yml
Trigger: workflow_dispatch
Branch: main
Date: Sun Aug 21 03:20:33 UTC 2022
Tests are passing now. Closing this issue.


Any chance to disable "Location found" notification?

Can't find anything about this notification in sources.

Well there is no code about that in this plugin.
Could you provide more details, a screenshot maybe?


Added hyperlinks for code analysis tools

Issue #74

Thanks!  I'm fixing the conflicts and will merge soon.

Thanks!  Included in commit fb3c9f7b07e522c47fcdabc072b56d802fc9fe8b


feat: extract statetest models/structs to standalone crate

Closes: #1787

Cool! lgtm with one nit.

Done! Ci green.


fix: be more specific about having no releases with cargo-dist

Closes #305 for good

previews:


Implement the "publisher-bulk-get" endpoint

This commit adds an endpoint to fetch all content-items for a given format. It will be used to populate the select-boxes in the tagging interfaces.
For example:
/v2/content?format=topic&fields=base_path,title

will return:
[
  {
    "base_path": "/browse/benefits/entitlement",
    "title": "Benefits entitlement"
  }
]

This endpoint is described in https://gov-uk.atlassian.net/wiki/display/FS/RFC+31%3A+Requirements+for+tagging+architecture.

Example: GET http://publishing-api/bulk format=topic&fields=title,content_id,base_path,draft,links.parent.title
Get information about all content items of a particular format, including draft items.
Only a limited set of fields need to be returned, but these may include:

fields from the top-level of the content item
whether the item is in draft state or not
fields from within the details hash
fields from within the expanded links hash
The endpoint may also need to support pagination / filtering for efficiency.

Not all features described here have been implemented, because we might not need those yet/at all.
Things of note:

I've chosen ?content_format= over ?format= to avoid collision with Rails' params[:format] (which is :json in this case).
There's currently no pagination, because the use case requires all documents of a particular format.

Open questions:

[x] Would using a more specific endpoint (/v2/content-by-format) be better?
[x] Our usecase requires draft items to be returned. This might not be obvious from the url. Should this be a parameter, or YAGNI?
[x] I'm allowing users to request any valid column name from the table. Do we have "secrets" there that we don't want to expose?
[x] Return placeholder_format documents

/cc @rboulton @danielroseman

This is something that the content register was designed to do, but as @tijmenb points out it only contains live content.
@danielroseman @rboulton Do we have a steer on whether we want to change the way the content register works?  e.g. policy publisher uses it to populate these sorts of fields currently.

I had assumed that content register was being deprecated, but that was just a personal assumption.
Seems like this needs more face-to-face discussion.

Closed until meeting today at 16:00.

To recap: we've decided to retire content-register in favour of this new endpoint.
I'll update this PR:

Make it api-compatible with content-register to provide an easy migration path
Also return the placeholder_#{format} entries for a format

I guess we'll have to wait to migrate apps until all content-store data is in publishing-api?
/cc @jennyd @rboulton @elliotcm @danielroseman @tuzz @steventux

@tijmenb yep

I've added support for querying the placeholder format and added publication_state return field.
This endpoint can now return the same data as the content-register, except for links.
The links hash is only used by Whitehall (see https://github.com/alphagov/content-register/pull/21 and https://github.com/alphagov/whitehall/pull/2198) and I'm quite hesitant to add it now because it will add a bunch of complexity and will degrade performance. My proposal is to merge this first, and see what to do about the links when migrating Whitehall to use this endpoint.

@elliotcm ready for review again.

:sparkles:

Attempting to access this in preview (using curl -I 'http://publishing-api.preview.alphagov.co.uk/v2/content?content_format=topic&fields=base_path&fields=title') gives an HTTP 500 error (https://errbit.preview.alphagov.co.uk/apps/552637940da1157bfa000399/problems/5649a38265786306aa1f0600)

@rboulton The example given in this PR uses a comma separated list

The correct syntax is /v2/content?format=topic&fields[]=base_path&fields[]=title. I've amended the description.

This is done so that this just works:
publishing_api.get_content_items(
  content_format: 'topic',
  fields: [:title, :base_path]
)

https://github.com/alphagov/gds-api-adapters/blob/master/test/publishing_api_v2_test.rb#L917-L920


Why is my CupertinoTabScaffold not occupying the fullscreen?

Hi @AedenThomas
That's because you're using SafeArea Widget,  if you're TabBar, you don't need this widget

code sample
import 'package:flutter/cupertino.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return CupertinoApp(
      title: 'Cupertino App',
      home: CupertinoTabScaffold(
        tabBar: CupertinoTabBar(
          items: const <BottomNavigationBarItem>[
            BottomNavigationBarItem(
              icon: Icon(CupertinoIcons.circle),
              title: Text('Tab 1'),
            ),
            BottomNavigationBarItem(
              icon: Icon(CupertinoIcons.add),
              title: Text('Tab 2'),
            ),
          ],
          currentIndex: 1,
        ),
        tabBuilder: (BuildContext context, int index) {
          return (Container());
        },
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel master, 1.22.0-10.0.pre.137, on Mac OS X 10.15.6 19G2021,
    locale en-GB)
    • Flutter version 1.22.0-10.0.pre.137 at
      /Users/tahatesser/Code/flutter_master
    • Framework revision 37e2013774 (2 hours ago), 2020-09-11 04:05:02 -0400
    • Engine revision bdaac368f8
    • Dart version 2.10.0 (build 2.10.0-115.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.7)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.7, Build version 11E801a
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 49.0.2
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.49.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.14.1

[✓] Connected device (4 available)
    • iPhone 11 (mobile) • 73130414-6DF8-4E37-B9AF-F81FA0F9068B • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-13-7 (simulator)
    • macOS (desktop)    • macos                                • darwin-x64
      • Mac OS X 10.15.6 19G2021
    • Web Server (web)   • web-server                           • web-javascript
      • Flutter Tools
    • Chrome (web)       • chrome                               • web-javascript
      • Google Chrome 85.0.4183.102

• No issues found!

Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


(BKR-1481) Rewrite beaker-aws to use shared .fog parsing

See puppetlabs/beaker#1526. These changes will fail tests until the linked issue is merged (and released?).

Jenkins, retest this please.


Release notes v3.0.0 sign off - CAN

Looking for sign off on the v3.0.0 release notes for - CAN

Release notes were properly added by @henrikbrixandersen for this release.


use i18n to translate output labels , add language to model options constractor

Is your feature request related to a problem? Please describe.
multi-language label
Describe the solution you'd like
Human or Machine translation?
Describe alternatives you've considered
Additional context

great idea

https://www.npmjs.com/package/i18n

by the way, where the label map from? Is it fixed in the model?
emm... did not find any information from google about efficientnet label.

The labels are from imagenet data set

#32


feat: integrate read the docs

Description
There is an urgent request for CAMEL documentation, currently we have Sphinx, which is used to create intelligent and beautiful documentation, it can be used in conjunction with Read the Docs. Sphinx generates the documentation, and Read the Docs hosts it.
Read the Docs supports versioning of documentation, making it easy to maintain docs for multiple versions of a project. It also supports continuous integration, which automatically rebuilds documentation with each commit.
Motivation and Context
close #422

[x] I have raised an issue to propose this change (required for new features and bug fixes)

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

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds core functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (update in the documentation)
[ ] Example (update in the folder of example)

Implemented Tasks

[ ] Subtask 1
[ ] Subtask 2
[ ] Subtask 3

Checklist
Go over all the following points, and put an x in all the boxes that apply.
If you are unsure about any of these, don't hesitate to ask. We are here to help!

[x] I have read the CONTRIBUTION guide. (required)
[ ] My change requires a change to the documentation.
[ ] I have updated the tests accordingly. (required for a bug fix or a new feature)
[ ] I have updated the documentation accordingly.

@Wendong-Fan Thank you. Could you please show us the deployed version on this platform?

@Wendong-Fan Thank you. Could you please show us the deployed version on this platform?

Hey @dandansamax, here is the link: https://camel-ai-test.readthedocs.io/en/latest/

Thanks @Wendong-Fan. It looks pretty! But all docstrings are missing? See https://camel-ai-test.readthedocs.io/en/latest/camel.html#camel-types-module

Thanks @Wendong-Fan. It looks pretty! But all docstrings are missing? See https://camel-ai-test.readthedocs.io/en/latest/camel.html#camel-types-module

@dandansamax  thanks for the issue! Seems the config is not properly set, I will check this

close this pr since not needed for now


Gitbook supports Crystal source code highlight now.

Gitbook v2.3.2 was released and updated highlight.js up to v8.8.0.  highlight.js v8.8.0 supports Crystal source code highlighting. So, Gitbook supports Crystal source code highlight now.
I replaced ruby with crystal in markdown files and updated gitbook version.

Great work, thank you!


multiple directories created by release

From<EMAIL_ADDRESS>on August 03, 2011 12:24:09
my set up: OS X 10.6, OORT v0.3
output folder:
go/ontology/release
the output:
in go/ontology/release:
go-non-classified.obo
go-non-classified.owl
go-simple.obo
go-simple.owl
go.obo
go.owl
VERSION-INFO
extensions/
releases/
subsets/
in go/ontology/release/releases/2011-08-03:
go-non-classified.obo
go-non-classified.owl
go-simple.obo
go-simple.owl
go.obo
go.owl
VERSION-INFO
extensions/
subsets/
[i.e. duplication of what is in 'release' folder]
Is this intended?
Original issue: http://code.google.com/p/owltools/issues/detail?id=7

From<EMAIL_ADDRESS>on September 12, 2011 13:42:49
Yes, this is correct. Some projects will want to manage this purely through svn tags.
Status: WontFix


Review and Optimize MSI Implementation

Perform code review and optimize the implementation of the MSI authentication feature for better performance and security.

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx


add contributors

@all-contributors please add @Panshark for code

@all-contributors please add @Panshark for code

@all-contributors please add @Panshark for data

@all-contributors please add @Panshark for doc, ideas, maintenance, projectManagement, question, review, research, design, doc

@all-contributors please add @TaoLi-NYU for design, eventOrganizing, ideas, data, content, question, research


Remove unused typedef

Resolves https://github.com/Flipboard/FLEX/issues/73.

Ah, thanks. Not sure why that doesn't show up in the example project. Perhaps it's compiled with different warnings settings than the Flipboard project.

Yeah, that's probably the case.

Thanks!


Minor fixes to in-source docs following #310

@hamishwillee: style checker is failing. Would you mind fixing this? Then we can merge it :-).
Thanks!

Thanks guys. I've fixed style. Merge at will :-)


Review pre-release

I'll rebase on top of #1 after it gets merged. :)
done

@bergos Feel free to merge :)


Remove Synapse dependency

All dependency to Synapse will be changed to use Synopse mORMot units.

Done in last commits.


支持微信个性化菜单接口

https://github.com/jxtech/wechatpy/blob/master/wechatpy/client/api/menu.py#L101

这个特性放在1.3吧。

cherry-picked and released in v1.2.3
https://github.com/jxtech/wechatpy/blob/v1.2.3/wechatpy/client/api/menu.py#L101


feat: add a map and map_ref method

This adds a way to apply a function (possibly changing the type) and produce a new Grid. For example, given a grid, you could produce a mask by applying a function producing a boolean (examples in docs).

I added doctests for each, I guess you mean unit tests too? I can do that.

Done! Let me know if you want anything else, more testing, etc.

I forgot about the doctests, which you already added. Would have been enough, I just did not realize them.
=> Thanks! Merged

The methods around it also had regular tests (and regular tests are faster), so seemed reasonable to have those too. :)


bug(metrics): Invalid data reported: lru_evicted_watermark_time_diff_ms

Describe the bug
Invalid data reported: lru_evicted_watermark_time_diff_ms

Error message/log
No response
To Reproduce
No response
Expected behavior
No response
How did you deploy RisingWave?
No response
The version of RisingWave
No response
Additional context
No response

It's likely the node restarted at those data peaks.

Yeah. The value is so huge that makes the normal values unable to be seen. I'm considering we should exclude the in some ways

The value is so huge that makes the normal values unable to be seen

Yeah I failed to consider this. Will fix this.


[question] How to display a loading widget?

How to display a loading widget while beforeLeave of guard is running?
PD: Thank you very much!!!

Can you provide a small example?
This will make it faster for me to answer with exactly what you need :)

Hello, I think I have a similar question, so I will give you a small code exemple :
I have to do some bootstrapping before displaying any pages, here I want to ensure that Fireflutter has been initialized.
I would like to show a loading widget (with a progress indicator) as long as there has not been a redirect.
void main() {
  runApp(
      VRouter(
        routes: [
          VWidget(path: '/error', widget: ErrorScreen()),

          VGuard(
            beforeEnter: (vRedirector) => initializeFlutterFire(vRedirector: vRedirector),

            stackedRoutes: [
              VWidget(path: '/home', widget: HomeScreen()),
              VWidget(path: '/settings', widget: SettingsScreen()),
            ],
          ),
        ],
      )
  );
}

Future<void> initializeFlutterFire({required VRedirector vRedirector}) async {
  try {
    //await Firebase.initializeApp();
    await Future.delayed(const Duration(seconds: 3), (){});

  } catch(e) {
    vRedirector.push('/error');
  }
}

I put a delay to test the app, so i would like to display a widget during this time.
Thank you in advance.

I see, here is how I'm doing it for my project:
import 'package:flutter/material.dart';
import 'package:vrouter/vrouter.dart';

void main() {
  runApp(
    VRouter(
      initialUrl: '/splashscreen',
      routes: [
        VGuard(
          afterEnter: (context, from, to) => initializeFlutterFire(context),
          stackedRoutes: [VWidget(path: '/splashscreen', widget: SplashScreen())],
        ),
        VWidget(path: '/error', widget: ErrorScreen()),
        VGuard(
          beforeEnter: (vRedirector) async => isFirebaseInitialized
              ? null
              : vRedirector.push('/splashscreen', queryParameters: {'to': vRedirector.to!}),
          stackedRoutes: [
            VWidget(path: '/home', widget: HomeScreen()),
            VWidget(path: '/settings', widget: SettingsScreen()),
          ],
        ),
      ],
    ),
  );
}

Future<void> initializeFlutterFire(BuildContext context) async {
  try {
    //await Firebase.initializeApp();
    await Future.delayed(const Duration(seconds: 3), () {});
    context.vRouter.push(context.vRouter.queryParameters['to'] ?? '/home');
  } catch (e) {
    context.vRouter.push('/error');
  }
}

@lulupointu Okay thanks, I juste would to know how do you keep isFirebaseInitialized variable ?

You could use something like this:
bool get isFirebaseInitialized {
  try {
    Firebase.apps;
    return true;
  } catch (e) {
    return false;
  }
}

I think https://github.com/lulupointu/vrouter/issues/69#issuecomment-853905350 solves this issue.
Please reopen this if you feel like you would want something different.


Advice: trimming quote marks in template extending

I advise you to trim quotations (single and double quotations) if they're passed in the custom template extending.
Here is an example:
[index.crow.php]
@mytestmethod('hello') // passing a string
@mytestmethod(hello)  // not a safe way to do this

[directives/Mytestmethod.php]
public function toPhpCode($parameters = null):string {
  $parameters = preg_replace('/^[\'"]|[\'"]$/', '', $parameters); // this must be a built-in value.
}

This will help trimming surrounding quotes when passing strings to work with it safely.
For other types like boolean, integer, float, array, object, ..., they're now being handled as string. I think it should cast them as following:

true|false = bool
5 = int
5.5 = float
null = null
[] = array
new stdClass = object
$callable() or function() = closure callable function as a parameter
strings are already typed as string. no need for more processes.

I also advise you to pass variables as parameter in the view, like this way:
@section('body')
  <x-alert-box level="info">
    @mytestmethod($var) // here to pass variable, not a string "\$var"
  </x-alert-box>

  @mytestmethod('string!')
@endsection

Remember to fix declaring and working with variables using @php method in the @section in the views.

Okay I've noticed that Method is an abstract, so toPhpCode has no default action to do unless to call it in each Method class. Unfortunately, I couldn't solve that point.


duplicate events when instantiating view twice

When I define a view (via Backbone.View.extend) and instantiate it twice (via new), when an event happens once on each ivies object, it is fired twice.
Short example:

Out of curiosity, why are you instantiating it twice? Are you in a mobile view or something where the first instance in the viewport is replaced with another view, and when when the user comes back to that first view, you are getting double bindings?

Something like that. I have a home view, that will call different endpoints if the user is logged in or not. The event bindings are for the login / logout buttons. Both views are instantiated but only one is rendered at the time. When they login or logout, I'll switch to the same view but in a different mode. Hope that's clear enough.

It's still not entirely clear to me, why you have both views instantiated at the same time. Having both bind to the same pre-existing element in the dom means that there will be double events. This isn't really a bug, but just the way that events and specifically event delegation works.
If you instantiate a view on a pre-existing element, you need to specifically unbind those events or they will persist until the the element node itself is removed from the dom.

Well, it seemed like a good idea to instantiate both views during initialization, bind both to the same root element in the DOM, and then render the one or the other according to the login mode and have it replace the other's elements while rendering. I guess there's a better way to do it though, from your comments.

I would instantiate views when you need them. If a view isn't being used, there is no need in having it around taking up memory and potentially introducing side effects like you are seeing.

I tend not to use this pattern:
var View = Backbone.View.extend ({
    el: '#test',
    events:
    {
        'click .test': 'onClick'
    },
    onClick: function(event)
    {
        ...
    }
});

view = new View;
view.render();

but instead I tend to use this pattern, exactly to avoid zombie views that result in duplication of events
var View = Backbone.View.extend ({
    events:
    {
        'click .test': 'onClick'
    },
    onClick: function(event)
    {
        ...
    }
});

view = new View;
$('#target').append(view.render().el);

The only location where I would use your first pattern, is in the Application's Chrome view that instantiates the GUI:
var Application = Backbone.View.extend({
    el: '#wrapper',
    initialize: function (options)
    {
        this.render();
    }
)};

$(document).ready(function () {
    window.application = new Application();
});

ditto on what @vincentbriglia said about not defining el and letting the view generate it's own element. I do that 95% of the time as well. If however you do want to define el and clean up the events when removing, you can define you own Backbone.View.destroy() method with an .off() for every corresponding on() and every event in events: {}
for example:
var MyView = Backbone.View.extend({

  initialize: function() {
    this.model.on('change', this.render, this);
  },

  render: function() {
    return this;
  },

  destroy: function() {
    this.remove();
    this.model.off('change', this.render, this);
  }
})

Thanks, @malandrew and @vincentbriglia, that really helps.

Just to update this for posterity... I added a destroy method to the View class that looks like this
           destroy: function() {
                this.undelegateEvents();
            }

Then I just destroy the current view (State.view) when ever I instantiate().


Script in head do not load

I have simple script tag in head
<script src="https://cdn.announcekit.app/widget.js"></script>
When I start app I got message "An error occurred trying to load the resource" in console.
Does anybody know how to fix it?
Thanks!

It sound like your cdn doesn't support cross origin requests. What type of error do you see on the J's console?

No response!! Closing the issue.

It should load from CDN without any Issue. CDNs are used cross origins.
You can try adding this if not working


Bypass password File

Is there any description for this problem?

im guessing they want a bypass to password protected files on dorpbox?


Fix index of out bounds error

@dead10ck here's a small fix i needed to make the tool/example work on a topic with an unreachable partition. may i ask for a review and merge? many thanks in advance.
as an example the output looks like this then:
topic                     p-id l-id (l-host)      earliest       latest       (size)
broken_topic               0   -1 ()                   -1           -1          (0)
broken_topic               1    1 (xyz:9092)     56505964     56505964          (0)

This change seems ok, but doesn't fetch_offsets return an Err on the first erroneous partition? I wouldn't have thought this code was even reachable if one of the partitions wasn't reachable.

many thanks for the feedback! indeed, i forgot about fetch_offsets returning an Err immediately. i just verified, fetch_offsets will not query for erroneous partitions, i.e. partitions without a leader (as seen after having (re-)loaded metadata.) these are filtered out before making the requests. in fact, i am now more convinced that our difficult decision back then to make fetch_offsets return Err was correct - it strongly signals a point where (all?) metadata should be reloaded by the client.

many thanks @dead10ck, i'll merge it.


Add content writing guide as Wordpress meta box

See http://docs.layerswp.com/how-to-add-custom-fields-to-posts-and-pages/


Authentication

Description
Does this application use any type of authentication? If not, how is it being protected at Slack?
What type of issue is this? (place an x in one of the [ ])

[ ] bug
[ ] enhancement (feature request)
[ x] question
[ ] documentation related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Bug Report
I do not believe this is a bug. I think there's an implementation at Slack that's not detailed in the project docs.
Reproducible in:
All versions/All OSs
Steps to reproduce:

Deploy app
Access main page

Expected result:
Prior to being able to interact with the application I would need to supply some type of data to verify I'm an authorized user.
Actual result:
App loaded and I was able to use it unchallenged.
Attachments:

You can use some simple proxy like https://github.com/bitly/oauth2_proxy